77
88class CompileParametersTest extends TestCase
99{
10- /** @test */
11- public function no_paramters ()
10+ public function test_no_paramters ()
1211 {
1312 $ task = factory (Task::class)->create ();
1413 $ parameters = $ task ->compileParameters ();
1514
1615 $ this ->assertEmpty ($ parameters );
1716 }
1817
19- /** @test */
20- public function multiple_paramters ()
18+ public function test_multiple_paramters ()
2119 {
2220 $ task = factory (Task::class)->create ();
2321 $ task ->parameters = '--parameter-1=value --parameter-2=value --parameter-3=value ' ;
@@ -29,7 +27,7 @@ public function multiple_paramters()
2927 $ this ->assertEquals ('value ' , $ parameters ['--parameter-3 ' ]);
3028 }
3129
32- public function flag_and_paramter ()
30+ public function test_flag_and_paramter ()
3331 {
3432 $ task = factory (Task::class)->create ();
3533 $ task ->parameters = '--parameter-1=value --dry-run ' ;
@@ -41,7 +39,7 @@ public function flag_and_paramter()
4139 $ this ->assertEquals ('value ' , $ parameters ['--parameter-1 ' ]);
4240 }
4341
44- public function multiple_flags ()
42+ public function test_multiple_flags ()
4543 {
4644 $ task = factory (Task::class)->create ();
4745 $ task ->parameters = '--dry-run --debug --log-output ' ;
@@ -55,4 +53,57 @@ public function multiple_flags()
5553 $ this ->assertTrue ($ parameters ['--debug ' ]);
5654 $ this ->assertTrue ($ parameters ['--log-output ' ]);
5755 }
56+
57+ public function test_multiple_arguments ()
58+ {
59+ $ task = factory (Task::class)->create ();
60+ $ task ->parameters = 'arg1 arg2 arg3 ' ;
61+ $ parameters = $ task ->compileParameters ();
62+
63+ $ this ->assertCount (3 , $ parameters );
64+ $ this ->assertSame ('arg1 ' , $ parameters [0 ]);
65+ $ this ->assertSame ('arg2 ' , $ parameters [1 ]);
66+ $ this ->assertSame ('arg3 ' , $ parameters [2 ]);
67+ }
68+
69+ public function test_multiple_named_arguments ()
70+ {
71+ $ task = factory (Task::class)->create ();
72+ $ task ->parameters = 'arg1=name arg2=airport arg3=100 ' ;
73+ $ parameters = $ task ->compileParameters ();
74+
75+ $ this ->assertCount (3 , $ parameters );
76+ $ this ->assertSame ('name ' , $ parameters ['arg1 ' ]);
77+ $ this ->assertSame ('airport ' , $ parameters ['arg2 ' ]);
78+ $ this ->assertSame ('100 ' , $ parameters ['arg3 ' ]);
79+ }
80+
81+ public function test_multiple_mixed_arguments ()
82+ {
83+ $ task = factory (Task::class)->create ();
84+ $ task ->parameters = 'arg1 arg2=test arg3=15 arg4 ' ;
85+ $ parameters = $ task ->compileParameters ();
86+
87+ $ this ->assertCount (4 , $ parameters );
88+ $ this ->assertSame ('arg1 ' , $ parameters [0 ]);
89+ $ this ->assertSame ('test ' , $ parameters ['arg2 ' ]);
90+ $ this ->assertSame ('15 ' , $ parameters ['arg3 ' ]);
91+ $ this ->assertSame ('arg4 ' , $ parameters [1 ]);
92+ }
93+
94+ public function test_all_mixed_arguments ()
95+ {
96+ $ task = factory (Task::class)->create ();
97+ $ task ->parameters = 'arg1 arg2=test arg3=15 arg4 --flag --flag2 --option=yes --someplace=warm ' ;
98+ $ parameters = $ task ->compileParameters ();
99+
100+ $ this ->assertCount (8 , $ parameters );
101+ $ this ->assertSame ('arg1 ' , $ parameters [0 ]);
102+ $ this ->assertSame ('test ' , $ parameters ['arg2 ' ]);
103+ $ this ->assertSame ('15 ' , $ parameters ['arg3 ' ]);
104+ $ this ->assertSame ('arg4 ' , $ parameters [1 ]);
105+ $ this ->assertSame ('warm ' , $ parameters ['--someplace ' ]);
106+ $ this ->assertTrue ($ parameters ['--flag ' ]);
107+ $ this ->assertArrayHasKey ('--flag ' , $ parameters );
108+ }
58109}
0 commit comments