Пример #1
0
 /**
  * @covers \Foote\Ginny\Command\GinnyInput::getOptionsFromRequest
  * @covers \Foote\Ginny\Command\GinnyInput::__construct
  */
 public function testgetOptionsFromRequest()
 {
     $request = Request::createFromGlobals();
     $argv = $request->server->get('argv');
     $request->server->set('argv', ['ginny:generate', '--root=my/root/path/', '--extra=none', '-p', 'Manage', 'test1', 'test2=result2']);
     // ensures that $request->server in GinnyInput::get() loads the new argv
     $request->overrideGlobals();
     $passed = GinnyInput::getOptionsFromRequest();
     $this->assertTrue(array_key_exists('--root', $passed));
     $this->assertTrue(array_key_exists('--extra', $passed));
     $this->assertTrue(array_key_exists('-p', $passed));
     $this->assertEquals('my/root/path/', $passed['--root']);
     $this->assertEquals('none', $passed['--extra']);
     $this->assertEquals('Manage', $passed['-p']);
     //test that the other stuff isn't pass on
     $this->assertFalse(array_key_exists('test1', $passed));
     $this->assertFalse(array_key_exists('--test1', $passed));
     $this->assertFalse(array_key_exists('test2', $passed));
     $this->assertFalse(array_key_exists('--test2', $passed));
     $yaml = new \Symfony\Component\Yaml\Parser();
     $local_defaults = $yaml->parse(file_get_contents(__DIR__ . '/../../ginny.dist.yml'));
     $local_defaults['root'] = __DIR__ . '/../../';
     /**
      * Ensure that GinnyInput::getOptionsFromRequest() is invoked when get()
      * is called without $passed. -p=Manage above should override prefix=Admin
      * found in $local_defaults
      */
     $input = new GinnyInput($local_defaults);
     $this->assertEquals('Manage', $input->getParameterOption('--prefix'));
     // restore $_SERVER['argv']
     $request->server->set('argv', $argv);
     $request->overrideGlobals();
 }