package aQute.lib.justif;
import java.util.Formatter;
import junit.framework.TestCase;
public class JustifTest extends TestCase {
public void testTab() {
// tabs stay in column
assertJ("a\t0b\t1c\fd\ne", "a b c\n d\ne", 50);
// tabs
assertJ("a\t0b\t1c\t2d\t3e", "a b c d e", 50);
// line break without spaces
assertJ("abcdefghijklmnopqrstuvwxyz", "abcdefghij\nklmnopqrst\nuvwxyz", 10);
// line break with spaces
assertJ("a b c d e f g h i j k l m n o p q r s t u v w x y z",
"a b c d e\nf g h i j\nk l m n o\np q r s t\nu v w x y\nz", 10);
}
void assertJ(String input, String expected, int w) {
Justif j = new Justif(w, 5, 10, 15, 20, 25, 30, 40, 45, 50);
j.formatter().format(input);
String s = j.wrap();
assertEquals(expected, s);
System.out.println(s);
}
public void testSimple() throws Exception {
StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb);
try {
Justif j = new Justif(40, 4, 8);
f.format("0123456789012345\nxx\t0-\t1can\n"
+ " use instead of including individual modules in your project. Note:\n"
+ " It does not include the Jiffle scripting language or Jiffle image\n"
+ " operator.");
f.flush();
j.wrap(sb);
System.out.println(sb);
} finally {
f.close();
}
}
}