public function testNonBorderedTableWithoutHeader() { $nonBorderedTableWithoutHeader = ' PHP 1994 C++ 1983 C 1970 '; $table = new ConsoleTable(); $table->addRow(array('PHP', 1994))->addRow(array('C++', 1983))->addRow(array('C', 1970))->hideBorder(); $this->assertEquals(trim($nonBorderedTableWithoutHeader), trim($table->getTable())); }
<?php require 'src/LucidFrame/Console/ConsoleTable.php'; use LucidFrame\Console\ConsoleTable; function _pr($string) { if (PHP_SAPI == 'cli') { echo "\n"; echo '### ' . $string . ' ###'; echo "\n\n"; } else { echo '<h2>' . $string . '</h2>'; } } _pr('Bordered Table (Default)'); $table = new ConsoleTable(); $table->addHeader('Language')->addHeader('Year')->addRow()->addColumn('PHP')->addColumn(1994)->addRow()->addColumn('C++')->addColumn(1983)->addRow()->addColumn('C')->addColumn(1970)->display(); _pr('Bordered Table with Padding Width 2'); $table = new ConsoleTable(); $table->setHeaders(array('Language', 'Year'))->addRow(array('PHP', 1994))->addRow(array('C++', 1983))->addRow(array('C', 1970))->setPadding(2)->display(); _pr('Bordered Table with Left Margin Width 4'); $table = new ConsoleTable(); $table->setHeaders(array('Language', 'Year'))->addRow(array('PHP', 1994))->addRow(array('C++', 1983))->addRow(array('C', 1970))->setIndent(4)->display(); _pr('Non-bordered Table with Header'); $table = new ConsoleTable(); $table->setHeaders(array('Language', 'Year'))->addRow(array('PHP', 1994))->addRow(array('C++', 1983))->addRow(array('C', 1970))->hideBorder()->display(); _pr('Non-bordered Table without Header'); $table = new ConsoleTable(); $table->addRow(array('PHP', 1994))->addRow(array('C++', 1983))->addRow(array('C', 1970))->hideBorder()->display();
/** * Display the help message * @return void */ public function showHelp() { $options = $this->getOptions(); if (count($options)) { _writeln('Usage:'); $usage = _indent() . $this->name . ' [options]'; if (count($this->arguments)) { $usage .= ' [<' . implode('>] [<', $this->argumentNames) . '>]'; } _writeln($usage); # Arguments if (count($this->arguments)) { _writeln(); _writeln('Arguments:'); $table = new ConsoleTable(); $table->hideBorder()->setPadding(2); foreach ($this->arguments as $arg) { $table->addRow(); $table->addColumn($arg['name']); $desc = $arg['description']; if ($arg['default']) { $desc .= ' [default: "' . $arg['default'] . '"]'; } $table->addColumn($desc); } $table->display(); } # Options if (count($options)) { _writeln(); _writeln('Options:'); $table = new ConsoleTable(); $table->hideBorder()->setPadding(2); foreach ($this->options as $name => $opt) { $table->addRow(); $table->addColumn($opt['key']); $desc = $opt['description']; if ($opt['default']) { $desc .= ' [default: "' . $opt['default'] . '"]'; } $table->addColumn($desc); } $table->display(); } if ($this->description) { _writeln(); _writeln('Help:'); _writeln(_indent() . $this->description); } } }