예제 #1
0
 /**
  * @covers rvilbrandt\gamebook\Parser::run
  */
 public function testRun()
 {
     $gameState = $this->object->run();
     $this->assertInstanceOf("\\rvilbrandt\\gamebook\\Model\\GameState", $gameState);
     $this->assertInstanceOf("\\rvilbrandt\\gamebook\\Model\\Inventory", $gameState->inventory);
     $this->assertInstanceOf("\\rvilbrandt\\gamebook\\Model\\StateList", $gameState->stateList);
     $this->assertInstanceOf("\\rvilbrandt\\gamebook\\Model\\Gamebook\\Scene", $gameState->scene);
 }
예제 #2
0
 public function testMaskInclude()
 {
     $filesystem = $this->getMock('\\MaxVoloshin\\NginxConfParser\\Filesystem');
     $filesystem->expects($this->atLeastOnce())->method('read')->will($this->returnValueMap(array(array('first.conf', "first;\n"), array('second.conf', "second;\n"), array('third.conf', "third;\n"))));
     $filesystem->expects($this->atLeastOnce())->method('maskToPaths')->with('*.conf')->will($this->returnValue(array('first.conf', 'second.conf', 'third.conf')));
     $content = "zero;\ninclude *.conf;\n";
     $expected = "zero;\nfirst;\nsecond;\nthird;\n";
     $parser = new Parser($filesystem);
     $this->assertSame($expected, $parser->run($content));
 }
예제 #3
0
    public function run(array $arguments)
    {
        if (count($arguments) > 2) {
            $text = "Too much arguments\n";
            $code = 1;
        } elseif (!empty($arguments[1])) {
            $parser = new Parser($this->filesystem);
            $text = $parser->run($this->filesystem->read($arguments[1]));
            $code = 0;
        } else {
            $readme = $this->filesystem->read(__DIR__ . '/../README.MD');
            $readme = str_replace('``', '', $readme);
            $text = <<<TEXT
Nginx conf parser
~~~~~~~~~~~~~~~~~

{$readme}

TEXT;
            $code = 0;
        }
        return array($code, $text);
    }