#2243 fix empty content

This commit is contained in:
Shinsuke Sugaya 2019-10-30 06:46:33 +09:00
parent 6e2b065d4f
commit d19f020cca
2 changed files with 28 additions and 4 deletions

View file

@ -383,12 +383,20 @@ public class FessFunctions {
list.add(line);
}
}
if (lineNum == 0 || list.isEmpty()) {
return "<pre class=\"" + style + "\">" + input + "</pre>";
}
int lastIndex = list.size();
if (list.get(list.size() - 1).endsWith("...")) {
list.remove(list.size() - 1);
lastIndex--;
}
if (lineNum == 0) {
return "<pre class=\"" + style + "\">" + list.stream().collect(Collectors.joining("\n")) + "</pre>";
if (lastIndex <= 0) {
lastIndex = 1;
}
return "<pre class=\"" + style + " linenums:" + lineNum + "\">" + list.stream().collect(Collectors.joining("\n")) + "</pre>";
final String content = list.subList(0, lastIndex).stream().collect(Collectors.joining("\n"));
if (StringUtil.isBlank(content)) {
return "<pre class=\"" + style + "\">" + input.replaceAll("L[0-9]+:", StringUtil.EMPTY).trim() + "</pre>";
}
return "<pre class=\"" + style + " linenums:" + lineNum + "\">" + content + "</pre>";
}
}

View file

@ -100,5 +100,21 @@ public class FessFunctionsTest extends UnitFessTestCase {
value = FessFunctions.formatCode("L", "prettyprint", "text/plain", code);
assertEquals("<pre class=\"prettyprint linenums:10\">aaa\nbbb</pre>", value);
code = "aaa\nL11:bbb\nL12:ccc...";
value = FessFunctions.formatCode("L", "prettyprint", "text/plain", code);
assertEquals("<pre class=\"prettyprint linenums:11\">bbb</pre>", value);
code = "aaa\nL10:";
value = FessFunctions.formatCode("L", "prettyprint", "text/plain", code);
assertEquals("<pre class=\"prettyprint\">aaa</pre>", value);
code = "aaa\nL10:\nL11:ccc...";
value = FessFunctions.formatCode("L", "prettyprint", "text/plain", code);
assertEquals("<pre class=\"prettyprint\">aaa\n\nccc...</pre>", value);
code = "aaa\nL10:\nL11:ccc";
value = FessFunctions.formatCode("L", "prettyprint", "text/plain", code);
assertEquals("<pre class=\"prettyprint linenums:10\">\nccc</pre>", value);
}
}