You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.7 KiB
80 lines
1.7 KiB
12 years ago
|
<?php
|
||
|
|
||
|
namespace yiiunit\framework\helpers;
|
||
|
|
||
|
use Yii;
|
||
|
use yii\helpers\Console;
|
||
|
use yiiunit\TestCase;
|
||
|
|
||
|
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(array(Console::FG_GREEN, Console::BG_BLUE, Console::UNDERLINE));
|
||
|
echo 'a';
|
||
|
Console::endAnsiFormat();
|
||
|
echo 'a';
|
||
|
Console::beginAnsiFormat(array(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);
|
||
|
}
|
||
|
}*/
|
||
|
|
||
|
}
|