[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/tests/inc/ -> cli_options.test.php (source)

   1  <?php
   2  
   3  class cli_options extends DokuWikiTest {
   4  
   5      function test_simpleshort() {
   6          $options = new DokuCLI_Options();
   7          $options->registerOption('exclude', 'exclude files', 'x', 'file');
   8  
   9          $options->args = array('-x', 'foo', 'bang');
  10          $options->parseOptions();
  11  
  12          $this->assertEquals('foo', $options->getOpt('exclude'));
  13          $this->assertEquals(array('bang'), $options->args);
  14          $this->assertFalse($options->getOpt('nothing'));
  15      }
  16  
  17      function test_simplelong1() {
  18          $options = new DokuCLI_Options();
  19          $options->registerOption('exclude', 'exclude files', 'x', 'file');
  20  
  21          $options->args = array('--exclude', 'foo', 'bang');
  22          $options->parseOptions();
  23  
  24          $this->assertEquals('foo', $options->getOpt('exclude'));
  25          $this->assertEquals(array('bang'), $options->args);
  26          $this->assertFalse($options->getOpt('nothing'));
  27      }
  28  
  29      function test_simplelong2() {
  30          $options = new DokuCLI_Options();
  31          $options->registerOption('exclude', 'exclude files', 'x', 'file');
  32  
  33          $options->args = array('--exclude=foo', 'bang');
  34          $options->parseOptions();
  35  
  36          $this->assertEquals('foo', $options->getOpt('exclude'));
  37          $this->assertEquals(array('bang'), $options->args);
  38          $this->assertFalse($options->getOpt('nothing'));
  39      }
  40  
  41      function test_complex() {
  42          $options = new DokuCLI_Options();
  43  
  44          $options->registerOption('plugins', 'run on plugins only', 'p');
  45          $options->registerCommand('status', 'display status info');
  46          $options->registerOption('long', 'display long lines', 'l', false, 'status');
  47  
  48          $options->args = array('-p', 'status', '--long', 'foo');
  49          $options->parseOptions();
  50  
  51          $this->assertEquals('status', $options->getCmd());
  52          $this->assertTrue($options->getOpt('plugins'));
  53          $this->assertTrue($options->getOpt('long'));
  54          $this->assertEquals(array('foo'), $options->args);
  55      }
  56  }