@@ -29,16 +29,67 @@ public function testSilentOverride(): void
2929 $ this ->assertFalse ($ options ->silentOverride ());
3030 }
3131
32- public function testOutputDirectory (): void
32+ public function testDefaultOutputDirectory (): void
3333 {
3434 $ options = new Options ([]);
35- $ this ->assertSame ('config/packages ' , $ options ->outputDirectory ());
35+ $ this ->assertSame ('/config/packages ' , $ options ->outputDirectory ());
36+ }
3637
38+ public function dataOutputDirectory (): array
39+ {
40+ return [
41+ ['/ ' , '' ],
42+ ['/ ' , '/ ' ],
43+ ['/ ' , '\\' ],
44+ ['/custom-dir ' , 'custom-dir ' ],
45+ ['/custom-dir ' , '/custom-dir ' ],
46+ ['/custom-dir ' , '/custom-dir/ ' ],
47+ ['/custom-dir ' , '\\custom-dir \\' ],
48+ ];
49+ }
50+
51+ /**
52+ * @dataProvider dataOutputDirectory
53+ */
54+ public function testOutputDirectory (string $ expected , string $ path ): void
55+ {
56+ $ options = new Options ([
57+ 'config-plugin-options ' => [
58+ 'output-directory ' => $ path ,
59+ ],
60+ ]);
61+ $ this ->assertSame ($ expected , $ options ->outputDirectory ());
62+ }
63+
64+ public function testDefaultSourceDirectory (): void
65+ {
66+ $ options = new Options ([]);
67+ $ this ->assertSame ('/ ' , $ options ->sourceDirectory ());
68+ }
69+
70+ public function dataSourceDirectory (): array
71+ {
72+ return [
73+ ['/ ' , '' ],
74+ ['/ ' , '/ ' ],
75+ ['/ ' , '\\' ],
76+ ['/custom-dir ' , 'custom-dir ' ],
77+ ['/custom-dir ' , '/custom-dir ' ],
78+ ['/custom-dir ' , '/custom-dir/ ' ],
79+ ['/custom-dir ' , '\\custom-dir \\' ],
80+ ];
81+ }
82+
83+ /**
84+ * @dataProvider dataSourceDirectory
85+ */
86+ public function testSourceDirectory (string $ expected , string $ path ): void
87+ {
3788 $ options = new Options ([
3889 'config-plugin-options ' => [
39- 'output -directory ' => ' custom-dir-packages ' ,
90+ 'source -directory ' => $ path ,
4091 ],
4192 ]);
42- $ this ->assertSame (' custom-dir-packages ' , $ options ->outputDirectory ());
93+ $ this ->assertSame ($ expected , $ options ->sourceDirectory ());
4394 }
4495}
0 commit comments