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"); }