diff options
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r-- | vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java | 8 | ||||
-rw-r--r-- | vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java | 14 |
2 files changed, 15 insertions, 7 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java index 7a05cbf74fd..ce82a8c6496 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java +++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java @@ -20,16 +20,16 @@ public class HtmlLogger { public static final Level HTML = new Level("html", 1) { }; private final ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - private final PrintStream formatter = new PrintStream(new HtmlAnsiOutputStream(buffer)); public LogRecord toLog(String line) { if (line.length() > 1 << 13) line = line.substring(0, 1 << 13) + " ... (this log entry was truncated due to size)"; buffer.reset(); - formatter.print(line); - formatter.flush(); - return new LogRecord(HTML, buffer.toString(UTF_8)); //.replaceAll(" ", " ")); + try (PrintStream formatter = new PrintStream(new HtmlAnsiOutputStream(buffer))) { + formatter.print(line); + } + return new LogRecord(HTML, buffer.toString(UTF_8)); } } diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java index c230bac9dce..cddb07dc4a6 100644 --- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java +++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.testrunner; import org.fusesource.jansi.Ansi; import org.junit.jupiter.api.Test; +import java.util.List; import java.util.logging.LogRecord; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -15,10 +16,17 @@ class HtmlLoggerTest { @Test void testConversionToHtml() { - LogRecord html = new HtmlLogger().toLog(Ansi.ansi().fg(Ansi.Color.RED).a("</body>Hello!").reset().toString()); - assertEquals("html", html.getLevel().getName()); + String splitMessage = Ansi.ansi().fg(Ansi.Color.RED).a("</body>Hello!\ncontinued").reset().toString(); + List<String> messages = List.of(splitMessage.split("\n")); + LogRecord html0 = new HtmlLogger().toLog(messages.get(0)); + assertEquals("html", html0.getLevel().getName()); assertEquals("<span style=\"color: red;\"></body>Hello!</span>", - html.getMessage()); + html0.getMessage()); + + LogRecord html1 = new HtmlLogger().toLog(messages.get(1)); + assertEquals("html", html1.getLevel().getName()); + assertEquals("continued", + html1.getMessage()); } } |