7
7
8
8
class CompileParametersTest extends TestCase
9
9
{
10
- /** @test */
11
- public function no_paramters ()
10
+ public function test_no_paramters ()
12
11
{
13
12
$ task = factory (Task::class)->create ();
14
13
$ parameters = $ task ->compileParameters ();
15
14
16
15
$ this ->assertEmpty ($ parameters );
17
16
}
18
17
19
- /** @test */
20
- public function multiple_paramters ()
18
+ public function test_multiple_paramters ()
21
19
{
22
20
$ task = factory (Task::class)->create ();
23
21
$ task ->parameters = '--parameter-1=value --parameter-2=value --parameter-3=value ' ;
@@ -29,7 +27,7 @@ public function multiple_paramters()
29
27
$ this ->assertEquals ('value ' , $ parameters ['--parameter-3 ' ]);
30
28
}
31
29
32
- public function flag_and_paramter ()
30
+ public function test_flag_and_paramter ()
33
31
{
34
32
$ task = factory (Task::class)->create ();
35
33
$ task ->parameters = '--parameter-1=value --dry-run ' ;
@@ -41,7 +39,7 @@ public function flag_and_paramter()
41
39
$ this ->assertEquals ('value ' , $ parameters ['--parameter-1 ' ]);
42
40
}
43
41
44
- public function multiple_flags ()
42
+ public function test_multiple_flags ()
45
43
{
46
44
$ task = factory (Task::class)->create ();
47
45
$ task ->parameters = '--dry-run --debug --log-output ' ;
@@ -55,4 +53,57 @@ public function multiple_flags()
55
53
$ this ->assertTrue ($ parameters ['--debug ' ]);
56
54
$ this ->assertTrue ($ parameters ['--log-output ' ]);
57
55
}
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
+ }
58
109
}
0 commit comments