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(
"[0,9,abc]\n"+
"[0,9,def][15,9,ghi]\n", format(buffer));
25 addLine(buffer,
"jkl");
26 Assert.assertEquals(
"[0,9,abc]\n"+
"[0,9,def][15,9,ghi]\n"+
"[0,9,jkl]\n", format(buffer));
28 addLine(buffer,
"mno",
"pqr");
29 Assert.assertEquals(
"[0,9,abc]\n"+
"[0,9,def][15,9,ghi]\n"+
"[0,9,jkl]\n"+
"[0,9,mno][15,9,pqr]\n", format(buffer));
36 addLine(buffer,
"a",
"b",
"c",
"d",
"e");
37 Assert.assertEquals(
"[0,9,a][5,9,b][10,9,c][15,9,d][20,9,e]\n", format(buffer));
44 addLine(buffer,
"abc");
46 Assert.assertEquals(
"[0,9,abc]\n", format(buffer));
48 addLine(buffer,
"def",
"ghi");
50 Assert.assertEquals(
"[0,9,abc]\n"+
"[0,9,def][15,9,ghi]\n", format(buffer));
52 addLine(buffer,
"jkl");
54 Assert.assertEquals(
"[0,9,abc]\n"+
"[0,9,def][15,9,ghi]\n"+
"[0,9,jkl]\n", format(buffer));
56 addLine(buffer,
"mno",
"pqr");
58 Assert.assertEquals(
"[0,9,def][15,9,ghi]\n"+
"[0,9,jkl]\n"+
"[0,9,mno][15,9,pqr]\n", format(buffer));
65 addLine(buffer,
"abc");
66 Assert.assertEquals(
"0", formatLines(buffer));
68 Assert.assertEquals(
"0", formatLines(buffer));
70 addLine(buffer,
"def",
"ghi");
71 Assert.assertEquals(
"0 13", formatLines(buffer));
73 Assert.assertEquals(
"0 13", formatLines(buffer));
75 addLine(buffer,
"jkl");
76 Assert.assertEquals(
"0 13 29", formatLines(buffer));
78 Assert.assertEquals(
"0 13 29", formatLines(buffer));
80 addLine(buffer,
"mno",
"pqr");
81 Assert.assertEquals(
"0 13 29 42", formatLines(buffer));
83 Assert.assertEquals(
"0 16 29", formatLines(buffer));
95 Assert.assertEquals(
"[0,9,1]\n"+
"[0,9,2]\n"+
"[0,9,3]\n"+
"[0,9,4]\n"+
"[0,9,5]\n", format(buffer));
97 Assert.assertEquals(
"[0,9,3]\n"+
"[0,9,4]\n"+
"[0,9,5]\n", format(buffer));
100 private static void addLine(@NotNull
final TestBuffer buffer, @NotNull
final String @NotNull ... text) {
104 private static void addLineWithType(@NotNull
final TestBuffer buffer,
final int type,
final int subtype, @NotNull
final String @NotNull ... text) {
105 final Line line =
new Line(type, subtype, buffer.newTextSegment(
"timestamp ",
false,
false,
false,
FontID.
PRINT, Color.BLACK, Color.BLACK));
106 for (
final String word : text) {
107 buffer.addTextSegment(line, word,
false,
false,
false,
FontID.
PRINT, Color.BLACK, Color.BLACK);
109 buffer.addLine(line);
114 final StringBuilder sb =
new StringBuilder();
115 synchronized (buffer.getSyncObject()) {
116 for (
final Line line : buffer.lines(0)) {
117 for (
final TextSegment segment : line.segments()) {
118 sb.append(segment.format());
123 return sb.toString();
128 final StringBuilder sb =
new StringBuilder();
129 synchronized (buffer.getSyncObject()) {
130 for (
final Line line : buffer.lines(0)) {
131 if (sb.length() > 0) {
134 sb.append(line.getStartPosition());
137 return sb.toString();