From 7d7aa411689fc5e9e94a2e897c22d8082b3f0bb2 Mon Sep 17 00:00:00 2001 From: Maxime Sinclair Date: Fri, 6 Sep 2013 16:32:51 +0200 Subject: [PATCH] [TASK] Add a test about Unicode preservation --- .../plantuml/servlet/TestCharset.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/test/java/net/sourceforge/plantuml/servlet/TestCharset.java diff --git a/src/test/java/net/sourceforge/plantuml/servlet/TestCharset.java b/src/test/java/net/sourceforge/plantuml/servlet/TestCharset.java new file mode 100644 index 0000000..23408cf --- /dev/null +++ b/src/test/java/net/sourceforge/plantuml/servlet/TestCharset.java @@ -0,0 +1,41 @@ +package net.sourceforge.plantuml.servlet; + +import com.meterware.httpunit.GetMethodWebRequest; +import com.meterware.httpunit.WebConversation; +import com.meterware.httpunit.WebRequest; +import com.meterware.httpunit.WebResponse; + +public class TestCharset extends WebappTestCase { + + /** + * Verifies the preservation of unicode characters for the "Bob -> Alice : hell‽" sample + */ + public void testUnicodeSupport() throws Exception { + WebConversation conversation = new WebConversation(); + WebRequest request = new GetMethodWebRequest(getServerUrl() + "txt/SyfFKj2rKt3CoKnELR1Io4ZDoNdKi1S0"); + WebResponse response = conversation.getResource(request); + // Analyze response + // Verifies the Content-Type header + assertEquals("Response content type is not TEXT PLAIN", "text/plain", response.getContentType()); + // Get the content and verify that the interrobang unicode character is present + String diagram = response.getText(); + assertTrue("Interrobang unicode character is not preserved", diagram.contains("‽")); + } + + /** + * Verifies the preservation of unicode characters for the "participant Bob [[http://www.snow.com/❄]]\nBob -> Alice" sample + */ + public void testUnicodeInCMap() throws Exception { + WebConversation conversation = new WebConversation(); + WebRequest request = new GetMethodWebRequest(getServerUrl() + "map/AqWiAibCpYn8p2jHSCfFKeYEpYWfAR3IroylBzShpiilrqlEpzL_DBSbDfOB9Azhf-2OavcS2W00"); + WebResponse response = conversation.getResource(request); + // Analyze response + // Verifies the Content-Type header + assertEquals("Response content type is not TEXT PLAIN", "text/plain", response.getContentType()); + // Get the content and verify that the snow unicode character is present + String map = response.getText(); + assertTrue("Snow unicode character is not preserved", map.contains("❄")); + } + + +}