public function testCanOrderAComplexBuilder() { $a = new OrderedAssembler(); $x = new Builder($a); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addFlag('t', 'xml')->addCommand('src/')->addArgument('verbose')->addCommand('foo')->addArgument('results-log', '/tmp/results.log')->addEnvVar('TMP_DIR', '/tmp')->addFlag('f')->addCommand('hint&&hint'); $this->assertSame("JAVA_BIN='/usr/bin/java' TMP_DIR='/tmp' hint\\&\\&hint foo src/ -t='xml' -f --verbose --results-log='/tmp/results.log'", (string) $x); }
public function testCanBuildSemicolonCommandUp() { $x = new Builder(); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addCommand('java')->addArgument('jar')->addFlag('t', 'xml')->addCommand('src/'); $y = new Builder(); $y->addEnvVar('TMP_DIR', '/tmp')->addCommand('foo')->addArgument('verbose')->addArgument('results-log', '/tmp/results.log')->addFlag('f'); $c = new Semicolon($x, $y); $this->assertSame("JAVA_BIN='/usr/bin/java' java --jar -t='xml' src/ ; TMP_DIR='/tmp' foo --verbose --results-log='/tmp/results.log' -f", (string) $c); }
public function testCanBuildComplexCommand() { $x = new Builder(); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addEnvVar('TMP_DIR', '/tmp')->addCommand('hint&&hint')->addCommand('foo')->addFlag('f')->addFlag('t', 'xml')->addCommand('src/')->addArgument('verbose')->addArgument('results-log', '/tmp/results.log')->addRaw('> /dev/null 2>&1')->getCommandAssembler()->getCommandString(); $this->assertSame("JAVA_BIN='/usr/bin/java' TMP_DIR='/tmp' hint\\&\\&hint foo -f -t='xml' src/ --verbose --results-log='/tmp/results.log' > /dev/null 2>&1", (string) $x); }