2222import static org .hamcrest .CoreMatchers .not ;
2323import static org .hamcrest .CoreMatchers .sameInstance ;
2424import static org .hamcrest .MatcherAssert .assertThat ;
25+ import static org .junit .Assert .assertEquals ;
2526
27+ import java .io .ByteArrayOutputStream ;
2628import java .io .PrintStream ;
29+ import java .nio .charset .StandardCharsets ;
2730
31+ import org .fusesource .jansi .AnsiColors ;
32+ import org .fusesource .jansi .AnsiConsole ;
33+ import org .fusesource .jansi .AnsiMode ;
34+ import org .fusesource .jansi .AnsiPrintStream ;
35+ import org .fusesource .jansi .AnsiType ;
36+ import org .fusesource .jansi .io .AnsiOutputStream ;
2837import org .junit .Test ;
2938
3039public class MessageUtilsTest
@@ -45,4 +54,24 @@ public void testSystem()
4554 System .setOut ( currentOut );
4655 }
4756 }
57+
58+ @ Test
59+ public void testTerminalWidth ()
60+ {
61+ AnsiOutputStream .WidthSupplier width = new AnsiOutputStream .WidthSupplier ()
62+ {
63+ @ Override
64+ public int getTerminalWidth ()
65+ {
66+ return 33 ;
67+ }
68+ };
69+ AnsiOutputStream aos = new AnsiOutputStream ( new ByteArrayOutputStream (), width , AnsiMode .Default ,
70+ null , AnsiType .Emulation , AnsiColors .Colors256 , StandardCharsets .UTF_8 ,
71+ null , null , false );
72+ AnsiConsole .systemInstall ();
73+ AnsiConsole .out = new AnsiPrintStream ( aos , true );
74+ assertEquals ( 33 , MessageUtils .getTerminalWidth () );
75+ AnsiConsole .systemUninstall ();
76+ }
4877}
0 commit comments