function build($argv) { $input = new lmbCliInput(); $input->setMinimumArguments(2); $input->read($argv, false); $arguments = $input->getArguments(); if (!($dest_file = array_pop($arguments))) { echo "Error: You must specify output file.\n"; return 1; } $src_files = array(); foreach ($arguments as $src_file) { $src_files[] = realpath($src_file); } if (empty($src_files)) { echo "Error: You must specify at least one input file.\n"; return 1; } $builder = new lmbJsPreprocessor(); try { $contents = $builder->processFiles($src_files); } catch (lmbException $e) { echo 'Build error: ' . $e->getMessage(); return 1; } lmbFs::safeWrite($dest_file, $contents); return 0; }
function testUseRelaxedMode() { $argv = array('foo.php', 'arg1', '--opt1', 'arg2', 'arg3'); $cli = new lmbCliInput(); $cli->strictMode(false); $this->assertTrue($cli->read($argv)); $this->assertTrue($cli->hasOption('opt1')); $this->assertEqual($cli->getArguments(), array('arg1', 'arg2', 'arg3')); }