/sitebricks-acceptance-tests/src/test/java/com/google/sitebricks/acceptance/page/I18nPage.java

http://github.com/dhanji/sitebricks · Java · 45 lines · 37 code · 8 blank · 0 comment · 0 complexity · 4b8534e0d5e8ff839631bfabef421d31 MD5 · raw file

  1. package com.google.sitebricks.acceptance.page;
  2. import com.google.inject.Guice;
  3. import com.google.sitebricks.acceptance.util.AcceptanceTest;
  4. import com.google.sitebricks.client.Web;
  5. import com.google.sitebricks.client.transport.Text;
  6. import org.dom4j.DocumentException;
  7. import org.dom4j.DocumentHelper;
  8. import java.util.Map;
  9. public class I18nPage {
  10. private final String content;
  11. public static final String NAME = "Dhanji";
  12. public I18nPage(String content) {
  13. try {
  14. this.content = DocumentHelper.parseText(content)
  15. .selectSingleNode("//span['localizedMessage'][1]")
  16. .getText();
  17. } catch (DocumentException e) {
  18. throw new RuntimeException(e);
  19. }
  20. }
  21. public boolean hasHelloTo(String name) {
  22. return content.trim().equals("Hello there " + name + "!");
  23. }
  24. public boolean hasBonjourTo(String name) {
  25. return content.trim().equals("Bonjour misieu " + name + "!");
  26. }
  27. public static I18nPage openWithHeaders(Map<String, String> headers) {
  28. String content = Guice.createInjector()
  29. .getInstance(Web.class)
  30. .clientOf(AcceptanceTest.baseUrl() + "/i18n?name=" + NAME, headers)
  31. .transports(String.class)
  32. .over(Text.class)
  33. .get()
  34. .toString();
  35. return new I18nPage(content);
  36. }
  37. }