1<?php 2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 3/** 4 * ColourTest.php 5 * 6 * PHP Version 5 7 * 8 * @category Test 9 * @package PHP_Shell 10 * @author Jesús Espino <jespinog@gmail.com> 11 * @copyright 2010 Jesús Espino 12 * @license MIT <http://www.opensource.org/licenses/mit-license.php> 13 * @version SVN: $Id:$ 14 * @link http://pear.php.net/package/PHP_Shell 15 */ 16 17 18require_once 'PHPUnit/Framework/TestCase.php'; 19require_once 'PHP/Shell.php'; 20require_once "PHP/Shell/Extensions/Colour.php"; 21 22/** 23 * ColourTest 24 * 25 * @uses PHPUnit_Framework_TestCase 26 * @category Test 27 * @package PHP_Shell 28 * @author Jesús Espino <jespinog@gmail.com> 29 * @copyright 2010 Jesús Espino 30 * @license MIT <http://www.opensource.org/licenses/mit-license.php> 31 * @version Release: @package_version@ 32 * @link http://pear.php.net/package/PHP_Shell 33 */ 34class ColourTest extends PHPUnit_Framework_TestCase 35{ 36 private $_vars; 37 private $_shell_exts; 38 39 /** 40 * setUp 41 * 42 * @access public 43 * @return void 44 */ 45 public function setUp() 46 { 47 /* create a fresh shell extensions object */ 48 $this->_shell_exts = PHP_Shell_Extensions::getInstance(); 49 $this->_shell_exts->registerExtensions( 50 array( 51 "options" => PHP_Shell_Options::getInstance(), 52 "colour" => new PHP_Shell_Extensions_Colour(), 53 ) 54 ); 55 } 56 57 /** 58 * testSetBackground 59 * 60 * @access public 61 * @return void 62 */ 63 public function testSetBackground() 64 { 65 // Check that enable the colour on valid enable string 66 ob_start(); 67 $this->_shell_exts->colour->optSetBackground('colour', null); 68 $this->assertEquals( 69 ob_get_clean(), 70 ":set colour needs a colour-scheme, e.g. :set colour=dark" 71 ); 72 73 ob_start(); 74 $this->_shell_exts->colour->optSetBackground('colour', "notvalid"); 75 $this->assertEquals( 76 ob_get_clean(), 77 "setting colourscheme failed: colourscheme notvalid is unknown" 78 ); 79 80 $this->_shell_exts->colour->optSetBackground('colour', "dark"); 81 $this->assertEquals("\033[1;33m", $this->_shell_exts->colour->getColour('default')); 82 $this->assertEquals("\033[1;37m", $this->_shell_exts->colour->getColour('value')); 83 $this->assertEquals("\033[0;35m", $this->_shell_exts->colour->getColour('exception')); 84 } 85} 86 87