@@ -25,9 +25,9 @@ public function testStaticConstructor(): void
25
25
// Sanity check in case Maker's NS changes
26
26
self ::assertSame ('Symfony\Bundle\MakerBundle\MakerBundle ' , MakerBundle::class);
27
27
28
- self ::assertSame ('MakerBundle ' , $ meta ->className );
29
- self ::assertSame ('Symfony\Bundle\MakerBundle ' , $ meta ->namespace );
30
- self ::assertSame ('Symfony\Bundle\MakerBundle\MakerBundle ' , $ meta ->fullClassName );
28
+ self ::assertSame ('MakerBundle ' , $ meta ->getClassName () );
29
+ self ::assertSame ('App\ Symfony\Bundle\MakerBundle ' , $ meta ->getNamespace () );
30
+ self ::assertSame ('App\ Symfony\Bundle\MakerBundle\MakerBundle ' , $ meta ->getFullClassName () );
31
31
}
32
32
33
33
public function testGetClassDeclaration (): void
@@ -55,4 +55,40 @@ public function testGetClassDeclarationWithExtends(): void
55
55
56
56
self ::assertSame ('final class MakerBundle extends MakerTestKernel ' , $ meta ->getClassDeclaration ());
57
57
}
58
+
59
+ /** @dataProvider suffixDataProvider */
60
+ public function testSuffix (?string $ suffix , string $ expectedResult ): void
61
+ {
62
+ $ data = ClassData::create (class: MakerBundle::class, suffix: $ suffix );
63
+
64
+ self ::assertSame ($ expectedResult , $ data ->getClassName ());
65
+ }
66
+
67
+ public function suffixDataProvider (): \Generator
68
+ {
69
+ yield [null , 'MakerBundle ' ];
70
+ yield ['Testing ' , 'MakerBundleTesting ' ];
71
+ yield ['Bundle ' , 'MakerBundle ' ];
72
+ }
73
+
74
+ /** @dataProvider namespaceDataProvider */
75
+ public function testNamespace (string $ class , ?string $ rootNamespace , string $ expectedNamespace , string $ expectedFullClassName ): void
76
+ {
77
+ $ class = ClassData::create ($ class );
78
+
79
+ if (null !== $ rootNamespace ) {
80
+ $ class ->setRootNamespace ($ rootNamespace );
81
+ }
82
+
83
+ self ::assertSame ($ expectedNamespace , $ class ->getNamespace ());
84
+ self ::assertSame ($ expectedFullClassName , $ class ->getFullClassName ());
85
+ }
86
+
87
+ public function namespaceDataProvider (): \Generator
88
+ {
89
+ yield ['MyController ' , null , 'App ' , 'App\MyController ' ];
90
+ yield ['Controller\MyController ' , null , 'App\Controller ' , 'App\Controller\MyController ' ];
91
+ yield ['MyController ' , 'Maker ' , 'Maker ' , 'Maker\MyController ' ];
92
+ yield ['Controller\MyController ' , 'Maker ' , 'Maker\Controller ' , 'Maker\Controller\MyController ' ];
93
+ }
58
94
}
0 commit comments