Ejemplo n.º 1
0
 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);
 }
 /**
  * Fetches TOP-$count components from Bower ans saves to `config/bower.list`.
  *
  * @param int $count
  * @param bool $skipCache
  */
 public function actionFetchTop($count = 1000, $skipCache = false)
 {
     $result = [];
     $components = $this->getComponents($skipCache);
     ArrayHelper::multisort($components, 'stars', SORT_DESC, SORT_NUMERIC);
     foreach (array_slice($components, 0, $count) as $component) {
         $result[] = 'bower-asset/' . $component['name'];
         echo Console::renderColoredString("%R{$component['stars']}%N - %g{$component['name']}%N");
         Console::moveCursorTo(0);
         Console::clearLine();
     }
     $componentsListPath = Yii::getAlias('@hiqdev/assetpackagist/config/bower.list');
     file_put_contents($componentsListPath, implode("\n", $result));
     echo Console::renderColoredString('Fetched %YBower%N components list. Found %G' . count($components) . "%N components.\n");
     echo Console::renderColoredString('Only %bTOP-' . $count . "%N components were added to the packages list.\n");
     echo Console::renderColoredString('See %G' . $componentsListPath . "%N\n");
 }