package com.google.sitebricks.acceptance.page; import com.google.inject.Guice; import com.google.sitebricks.acceptance.util.AcceptanceTest; import com.google.sitebricks.client.Web; import com.google.sitebricks.client.transport.Text; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import java.util.Map; public class I18nPage { private final String content; public static final String NAME = "Dhanji"; public I18nPage(String content) { try { this.content = DocumentHelper.parseText(content) .selectSingleNode("//span['localizedMessage'][1]") .getText(); } catch (DocumentException e) { throw new RuntimeException(e); } } public boolean hasHelloTo(String name) { return content.trim().equals("Hello there " + name + "!"); } public boolean hasBonjourTo(String name) { return content.trim().equals("Bonjour misieu " + name + "!"); } public static I18nPage openWithHeaders(Map<String, String> headers) { String content = Guice.createInjector() .getInstance(Web.class) .clientOf(AcceptanceTest.baseUrl() + "/i18n?name=" + NAME, headers) .transports(String.class) .over(Text.class) .get() .toString(); return new I18nPage(content); } }