<?php use pho\Console\ConsoleFormatter; describe('ConsoleFormatter', function () { $formatter = new ConsoleFormatter(); context('alignText', function () use($formatter) { it('pads strings to align columns', function () use($formatter) { $multiArray = array(array('pho', 'b', 'c'), array('a', 'test')); $aligned = array('phob c', 'a test'); expect($formatter->alignText($multiArray))->toEqual($aligned); }); it('can use delimiters between columns', function () use($formatter) { $multiArray = array(array('pho', 'b', 'c'), array('a', 'test')); $aligned = array('pho | b | c', 'a | test'); expect($formatter->alignText($multiArray, ' | '))->toEqual($aligned); }); }); context('calls to applyForeground', function () use($formatter) { it('can set the color black', function () use($formatter) { $formattedText = $formatter->black('test'); expect($formattedText)->toEqual("[30mtest[0m"); }); it('can set the color red', function () use($formatter) { $formattedText = $formatter->red('test'); expect($formattedText)->toEqual("[31mtest[0m"); }); it('can set the color green', function () use($formatter) { $formattedText = $formatter->green('test'); expect($formattedText)->toEqual("[32mtest[0m"); }); it('can set the color cyan', function () use($formatter) {
expect($formattedText)->toEqual("[36mtest[0m"); }); it('can set the color yellow', function () use($formatter) { $formattedText = $formatter->yellow('test'); expect($formattedText)->toEqual("[33mtest[0m"); }); it('can set the color white', function () use($formatter) { $formattedText = $formatter->white('test'); expect($formattedText)->toEqual("[37mtest[0m"); }); }); context('calls to applyStyle', function () use($formatter) { it('can set the text bold', function () use($formatter) { $formattedText = $formatter->bold('test'); expect($formattedText)->toEqual("[1mtest[22m"); }); it('can set the text italic', function () use($formatter) { $formattedText = $formatter->italic('test'); expect($formattedText)->toEqual("[3mtest[23m"); }); }); context('disableANSI', function () { it('disables formatting using ANSI escape codes', function () { $str = 'test'; $formatter = new ConsoleFormatter(); $formatter->disableANSI(); expect($formatter->green($str))->toEqual($str); expect($formatter->italic($str))->toEqual($str); }); }); });