@@ -11,30 +11,41 @@ class Options extends \splitbrain\phpcli\Options
1111class OptionsTest extends \PHPUnit_Framework_TestCase
1212{
1313
14- function test_simpleshort ()
15- {
14+ /**
15+ * @dataProvider optionDataProvider
16+ *
17+ * @param string $option
18+ * @param string $value
19+ * @param string $argument
20+ */
21+ function test_optionvariants (
22+ $ option ,
23+ $ value ,
24+ $ argument
25+ ) {
1626 $ options = new Options ();
1727 $ options ->registerOption ('exclude ' , 'exclude files ' , 'x ' , 'file ' );
1828
19- $ options ->args = array (' -x ' , ' foo ' , ' bang ' );
29+ $ options ->args = array ($ option , $ value , $ argument );
2030 $ options ->parseOptions ();
2131
22- $ this ->assertEquals (' foo ' , $ options ->getOpt ('exclude ' ));
23- $ this ->assertEquals (array (' bang ' ), $ options ->args );
32+ $ this ->assertEquals ($ value , $ options ->getOpt ('exclude ' ));
33+ $ this ->assertEquals (array ($ argument ), $ options ->args );
2434 $ this ->assertFalse ($ options ->getOpt ('nothing ' ));
2535 }
2636
27- function test_simplelong1 ()
28- {
29- $ options = new Options ();
30- $ options ->registerOption ('exclude ' , 'exclude files ' , 'x ' , 'file ' );
31-
32- $ options ->args = array ('--exclude ' , 'foo ' , 'bang ' );
33- $ options ->parseOptions ();
34-
35- $ this ->assertEquals ('foo ' , $ options ->getOpt ('exclude ' ));
36- $ this ->assertEquals (array ('bang ' ), $ options ->args );
37- $ this ->assertFalse ($ options ->getOpt ('nothing ' ));
37+ /**
38+ * @return array
39+ */
40+ public function optionDataProvider () {
41+ return array (
42+ array ('-x ' , 'foo ' , 'bang ' ),
43+ array ('--exclude ' , 'foo ' , 'bang ' ),
44+ array ('-x ' , 'foo-bar ' , 'bang ' ),
45+ array ('--exclude ' , 'foo-bar ' , 'bang ' ),
46+ array ('-x ' , 'foo ' , 'bang--bang ' ),
47+ array ('--exclude ' , 'foo ' , 'bang--bang ' ),
48+ );
3849 }
3950
4051 function test_simplelong2 ()
0 commit comments