예제 #1
0
 public Style.Composite blink(Boolean value) {
   return Style.style(this).blink(value);
 }
예제 #2
0
 public Style.Composite underline(Boolean value) {
   return Style.style(this).underline(value);
 }
예제 #3
0
 public Style.Composite bold(Boolean value) {
   return Style.style(this).bold(value);
 }
예제 #4
0
 public Style.Composite background(Color value) {
   return Style.style(this).background(value);
 }
예제 #5
0
 public Style.Composite foreground(Color value) {
   return Style.style(this).foreground(value);
 }
예제 #6
0
public class ChunkBufferTestCase extends AbstractTestCase {

  /** . */
  private static final Style RED = Style.style(null, null, Color.red);

  /** . */
  private static final Style BLUE = Style.style(null, null, Color.blue);

  /** . */
  private static final Style UNDERLINE = Style.style(Decoration.underline, null, null);

  /** . */
  private static final Style RED_UNDERLINE = Style.style(Decoration.underline, null, Color.red);

  public void testSimple() {
    assertReader(new ChunkBuffer().append("a"), new Text("a"));
    assertReader(new ChunkBuffer().append(RED, "a"), RED, new Text("a"));
  }

  public void testMergeCharSequence() {
    assertReader(new ChunkBuffer().append("a").append("b"), new Text("ab"));
  }

  public void testMergeColor() {
    assertReader(new ChunkBuffer().append(RED, "a", RED, "b"), RED, new Text("ab"));
  }

  public void testOverwriteColor() {
    assertReader(new ChunkBuffer().append(BLUE, RED, "a"), RED, new Text("a"));
  }

  public void testOverwriteMergeColor() {
    assertReader(new ChunkBuffer().append(RED, "a", BLUE, RED, "b"), RED, new Text("ab"));
  }

  public void testLastColor() {
    assertReader(new ChunkBuffer().append(RED, "a", BLUE), RED, new Text("a"));
  }

  public void testBlendStyle() {
    assertReader(new ChunkBuffer().append(RED, UNDERLINE, "a"), RED_UNDERLINE, new Text("a"));
  }

  public void testConcatenation() {
    assertReader(
        new ChunkBuffer().append(RED).append(new ChunkBuffer().append("a")), RED, new Text("a"));
    assertReader(
        new ChunkBuffer().append(new ChunkBuffer().append(RED)).append("a"), RED, new Text("a"));
  }

  public void testBlend() throws IOException {
    assertReader(
        new ChunkBuffer().append(Color.red.fg(), "foo", Color.red.fg(), "bar"),
        Color.red.fg(),
        new Text("foobar"));
  }

  private void assertReader(ChunkBuffer reader, Chunk... expected) {
    List<Chunk> res = Utils.list(reader);
    assertEquals(expected.length, res.size());
    for (int i = 0; i < expected.length; i++) {
      assertEquals(expected[i], res.get(i));
    }
  }
}