public function setPrompt(script\prompt $prompt = null) { if ($prompt === null) { $prompt = new script\prompt(); } $this->prompt = $prompt->setOutputWriter($this->writer); return $this; }
public function testAsk() { $this->if($prompt = new testedClass())->and($writer = new \mock\atoum\writer())->and($reader = new \mock\atoum\reader())->and($prompt->setOutputWriter($writer))->and($prompt->setInputReader($reader))->and($this->calling($reader)->read = $line = uniqid())->then->string($prompt->ask($question = uniqid()))->isEqualTo($line)->mock($writer)->call('write')->withArguments($question)->once()->string($prompt->ask($question = uniqid()))->isEqualTo($line); }
public function testSetPrompt() { $this->if($script = new mock\script(uniqid()))->then->object($script->setPrompt($prompt = new prompt()))->isIdenticalTo($script)->object($script->getPrompt())->isIdenticalTo($prompt)->object($prompt->getOutputWriter())->isIdenticalTo($script->getOutputWriter())->given($defaultPrompt = new prompt(), $defaultPrompt->setOutputWriter($script->getOutputWriter()))->then->object($script->setPrompt())->isIdenticalTo($script)->object($script->getPrompt())->isNotIdenticalTo($prompt)->isEqualTo($defaultPrompt); }