PageRenderTime 49ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/_test/tests/inc/cli_options.test.php

http://github.com/splitbrain/dokuwiki
PHP | 56 lines | 42 code | 14 blank | 0 comment | 0 complexity | 3f7c93f22d8a562067313b57b3e15333 MD5 | raw file
Possible License(s): GPL-3.0, LGPL-2.1, GPL-2.0
  1. <?php
  2. class cli_options extends DokuWikiTest {
  3. function test_simpleshort() {
  4. $options = new DokuCLI_Options();
  5. $options->registerOption('exclude', 'exclude files', 'x', 'file');
  6. $options->args = array('-x', 'foo', 'bang');
  7. $options->parseOptions();
  8. $this->assertEquals('foo', $options->getOpt('exclude'));
  9. $this->assertEquals(array('bang'), $options->args);
  10. $this->assertFalse($options->getOpt('nothing'));
  11. }
  12. function test_simplelong1() {
  13. $options = new DokuCLI_Options();
  14. $options->registerOption('exclude', 'exclude files', 'x', 'file');
  15. $options->args = array('--exclude', 'foo', 'bang');
  16. $options->parseOptions();
  17. $this->assertEquals('foo', $options->getOpt('exclude'));
  18. $this->assertEquals(array('bang'), $options->args);
  19. $this->assertFalse($options->getOpt('nothing'));
  20. }
  21. function test_simplelong2() {
  22. $options = new DokuCLI_Options();
  23. $options->registerOption('exclude', 'exclude files', 'x', 'file');
  24. $options->args = array('--exclude=foo', 'bang');
  25. $options->parseOptions();
  26. $this->assertEquals('foo', $options->getOpt('exclude'));
  27. $this->assertEquals(array('bang'), $options->args);
  28. $this->assertFalse($options->getOpt('nothing'));
  29. }
  30. function test_complex() {
  31. $options = new DokuCLI_Options();
  32. $options->registerOption('plugins', 'run on plugins only', 'p');
  33. $options->registerCommand('status', 'display status info');
  34. $options->registerOption('long', 'display long lines', 'l', false, 'status');
  35. $options->args = array('-p', 'status', '--long', 'foo');
  36. $options->parseOptions();
  37. $this->assertEquals('status', $options->getCmd());
  38. $this->assertTrue($options->getOpt('plugins'));
  39. $this->assertTrue($options->getOpt('long'));
  40. $this->assertEquals(array('foo'), $options->args);
  41. }
  42. }