[BUGFIX] Text/plain outputs always in unicode

This commit is contained in:
maximesinclair 2013-09-13 19:55:07 +02:00
parent 7d7aa41168
commit beb8c490b0
6 changed files with 8 additions and 6 deletions

View File

@ -44,7 +44,7 @@ public class AsciiServlet extends UmlDiagramService {
@Override
public FileFormat getOutputFormat() {
return FileFormat.ATXT;
return FileFormat.UTXT;
}
}

View File

@ -24,11 +24,11 @@
package net.sourceforge.plantuml.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import net.sourceforge.plantuml.FileFormat;
@ -49,7 +49,7 @@ class DiagramResponse {
Map<FileFormat, String> map = new HashMap<FileFormat, String>();
map.put(FileFormat.PNG, "image/png");
map.put(FileFormat.SVG, "image/svg+xml");
map.put(FileFormat.ATXT, "text/plain;charset=ISO-8859-1");
map.put(FileFormat.UTXT, "text/plain;charset=UTF-8");
contentType = Collections.unmodifiableMap(map);
}
@ -76,7 +76,7 @@ class DiagramResponse {
SourceStringReader reader = new SourceStringReader(uml);
String map = reader.generateImage(new NullOutputStream(), new FileFormatOption(FileFormat.PNG));
String[] mapLines = map.split("[\\r\\n]");
ServletOutputStream httpOut = response.getOutputStream();
PrintWriter httpOut = response.getWriter();
for (int i=2; (i+1)<mapLines.length; i++) {
httpOut.print(mapLines[i]);
}

View File

@ -68,7 +68,7 @@ public class MapServlet extends HttpServlet {
}
public FileFormat getOutputFormat() {
return FileFormat.ATXT;
return FileFormat.UTXT;
}
}

View File

@ -14,6 +14,7 @@ public class AllTests extends TestSuite {
suite.addTestSuite(TestSVG.class);
suite.addTestSuite(TestProxy.class);
suite.addTestSuite(TestMap.class);
suite.addTestSuite(TestCharset.class);
// $JUnit-END$
return suite;
}

View File

@ -17,6 +17,7 @@ public class TestAsciiArt extends WebappTestCase {
// Analyze response
// Verifies the Content-Type header
assertEquals("Response content type is not TEXT PLAIN", "text/plain", response.getContentType());
assertEquals("Response character set is not UTF-8", "UTF-8", response.getCharacterSet());
// Get the content and verify its size
String diagram = response.getText();
int diagramLen = diagram.length();

View File

@ -19,7 +19,7 @@ public class TestMap extends WebappTestCase {
// Analyze response
// Verifies the Content-Type header
assertEquals("Response content type is not TEXT PLAIN", "text/plain", response.getContentType());
assertEquals("Response character set is not ISO-8859-1", "ISO-8859-1", response.getCharacterSet());
assertEquals("Response character set is not UTF-8", "UTF-8", response.getCharacterSet());
// Get the content, check its first characters and verify its size
String diagram = response.getText();
assertTrue("Response content is not starting with <area", diagram.startsWith("<area"));