1 package com.realtime.crossfire.jxclient.gui.log;
5 import org.jetbrains.annotations.NotNull;
6 import org.junit.Assert;
12 @SuppressWarnings(
"JavaDoc")
19 addLine(buffer,
"abc");
20 Assert.assertEquals(
"[0,9,abc]\n", format(buffer));
22 addLine(buffer,
"def",
"ghi");
23 Assert.assertEquals(
"""
28 addLine(buffer,
"jkl");
29 Assert.assertEquals(
"""
35 addLine(buffer,
"mno",
"pqr");
36 Assert.assertEquals(
"""
48 addLine(buffer,
"a",
"b",
"c",
"d",
"e");
49 Assert.assertEquals(
"[0,9,a][5,9,b][10,9,c][15,9,d][20,9,e]\n", format(buffer));
56 addLine(buffer,
"abc");
58 Assert.assertEquals(
"[0,9,abc]\n", format(buffer));
60 addLine(buffer,
"def",
"ghi");
62 Assert.assertEquals(
"""
67 addLine(buffer,
"jkl");
69 Assert.assertEquals(
"""
75 addLine(buffer,
"mno",
"pqr");
77 Assert.assertEquals(
"""
88 addLine(buffer,
"abc");
89 Assert.assertEquals(
"0", formatLines(buffer));
91 Assert.assertEquals(
"0", formatLines(buffer));
93 addLine(buffer,
"def",
"ghi");
94 Assert.assertEquals(
"0 13", formatLines(buffer));
96 Assert.assertEquals(
"0 13", formatLines(buffer));
98 addLine(buffer,
"jkl");
99 Assert.assertEquals(
"0 13 29", formatLines(buffer));
101 Assert.assertEquals(
"0 13 29", formatLines(buffer));
103 addLine(buffer,
"mno",
"pqr");
104 Assert.assertEquals(
"0 13 29 42", formatLines(buffer));
106 Assert.assertEquals(
"0 16 29", formatLines(buffer));
118 Assert.assertEquals(
"""
124 """, format(buffer));
126 Assert.assertEquals(
"""
130 """, format(buffer));
133 private static void addLine(@NotNull
final TestBuffer buffer, @NotNull
final String @NotNull ... text) {
137 private static void addLineWithType(@NotNull
final TestBuffer buffer,
final int type,
final int subtype, @NotNull
final String @NotNull ... text) {
138 final Line line =
new Line(type, subtype, buffer.newTextSegment(
"timestamp ",
false,
false,
false,
FontID.
PRINT, Color.BLACK, Color.BLACK));
139 for (
final String word : text) {
140 buffer.addTextSegment(line, word,
false,
false,
false,
FontID.
PRINT, Color.BLACK, Color.BLACK);
142 buffer.addLine(line);
147 final StringBuilder sb =
new StringBuilder();
148 synchronized (buffer.getSyncObject()) {
149 for (
final Line line : buffer.lines(0)) {
150 for (
final TextSegment segment : line.segments()) {
151 sb.append(segment.format());
156 return sb.toString();
161 final StringBuilder sb =
new StringBuilder();
162 synchronized (buffer.getSyncObject()) {
163 for (
final Line line : buffer.lines(0)) {
167 sb.append(line.getStartPosition());
170 return sb.toString();