package org.webpieces.webserver.i18n; import org.junit.Before; import org.junit.Test; import org.webpieces.httpcommon.Requests; import org.webpieces.httpcommon.api.RequestId; import org.webpieces.httpcommon.api.RequestListener; import org.webpieces.httpparser.api.common.Header; import org.webpieces.httpparser.api.common.KnownHeaderName; import org.webpieces.httpparser.api.dto.HttpRequest; import org.webpieces.httpparser.api.dto.KnownHttpMethod; import org.webpieces.httpparser.api.dto.KnownStatusCode; import org.webpieces.util.file.VirtualFileClasspath; import org.webpieces.webserver.ResponseExtract; import org.webpieces.webserver.WebserverForTest; import org.webpieces.webserver.test.FullResponse; import org.webpieces.webserver.test.MockResponseSender; import org.webpieces.webserver.test.PlatformOverridesForTest; public class TestI18n { private RequestListener server; private MockResponseSender socket = new MockResponseSender(); @Before public void setUp() { VirtualFileClasspath metaFile = new VirtualFileClasspath("i18nMeta.txt", WebserverForTest.class.getClassLoader()); WebserverForTest webserver = new WebserverForTest(new PlatformOverridesForTest(), null, false, metaFile); server = webserver.start(); } @Test public void testDefaultText() { HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/i18nBasic"); server.incomingRequest(req, new RequestId(0), true, socket); FullResponse response = ResponseExtract.assertSingleResponse(socket); response.assertStatusCode(KnownStatusCode.HTTP_200_OK); response.assertContains("This is the default text that would go here and can be quite a long\n version"); response.assertContains("Hi Dean, we would like to take you to Italy"); } @Test public void testChineseText() { HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/i18nBasic"); req.addHeader(new Header(KnownHeaderName.ACCEPT_LANGUAGE, "zh-CN")); server.incomingRequest(req, new RequestId(0), true, socket); FullResponse response = ResponseExtract.assertSingleResponse(socket); response.assertStatusCode(KnownStatusCode.HTTP_200_OK); response.assertContains("你好, 这个是一个比较长的一个东西 我可以写比较多。 我在北京师范大学学了中文。 我喜欢完冰球"); response.assertContains("你好Dean,我们要去Italy"); } }