|  |  |  | <?php
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace yiiunit\framework\helpers;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use Yii;
 | 
					
						
							|  |  |  | use yii\helpers\Console;
 | 
					
						
							|  |  |  | use yiiunit\TestCase;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * @group helpers
 | 
					
						
							|  |  |  |  * @group console
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | class ConsoleTest extends TestCase
 | 
					
						
							|  |  |  | {
 | 
					
						
							|  |  |  | 	public function testStripAnsiFormat()
 | 
					
						
							|  |  |  | 	{
 | 
					
						
							|  |  |  | 		ob_start();
 | 
					
						
							|  |  |  | 		ob_implicit_flush(false);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorForward(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorDown(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorUp(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorBackward(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorNextLine(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorPrevLine(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorTo(1);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::moveCursorTo(1, 2);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearLine();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearLineAfterCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearLineBeforeCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearScreen();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearScreenAfterCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::clearScreenBeforeCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::scrollDown();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::scrollUp();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::hideCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::showCursor();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::saveCursorPosition();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::restoreCursorPosition();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::beginAnsiFormat([Console::FG_GREEN, Console::BG_BLUE, Console::UNDERLINE]);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::endAnsiFormat();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::beginAnsiFormat([Console::xtermBgColor(128), Console::xtermFgColor(55)]);
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		Console::endAnsiFormat();
 | 
					
						
							|  |  |  | 		echo 'a';
 | 
					
						
							|  |  |  | 		$ouput = Console::stripAnsiFormat(ob_get_clean());
 | 
					
						
							|  |  |  | 		ob_implicit_flush(true);
 | 
					
						
							|  |  |  | 		// $output = str_replace("\033", 'X003', $ouput );// uncomment for debugging
 | 
					
						
							|  |  |  | 		$this->assertEquals(str_repeat('a', 25), $ouput);
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*	public function testScreenSize()
 | 
					
						
							|  |  |  | 	{
 | 
					
						
							|  |  |  | 		for ($i = 1; $i < 20; $i++) {
 | 
					
						
							|  |  |  | 			echo implode(', ', Console::getScreenSize(true)) . "\n";
 | 
					
						
							|  |  |  | 			ob_flush();
 | 
					
						
							|  |  |  | 			sleep(1);
 | 
					
						
							|  |  |  | 		}
 | 
					
						
							|  |  |  | 	}*/
 | 
					
						
							|  |  |  | }
 |