Passed
Push — main ( ff6848...167bf7 )
by Thierry
07:23
created
jaxon-annotations/tests/TestAnnotation/AnnotationTest.php 1 patch
Switch Indentation   +341 added lines, -341 removed lines patch added patch discarded remove patch
@@ -16,386 +16,386 @@
 block discarded – undo
16 16
 
17 17
 class AnnotationTest extends TestCase
18 18
 {
19
-    use AnnotationTrait;
19
+use AnnotationTrait;
20 20
 
21
-    /**
21
+/**
22 22
      * @var string
23 23
      */
24
-    protected $sCacheDir;
24
+protected $sCacheDir;
25 25
 
26
-    /**
26
+/**
27 27
      * @throws SetupException
28 28
      */
29
-    public function setUp(): void
30
-    {
31
-        $this->sCacheDir = __DIR__ . '/../tmp';
32
-        @mkdir($this->sCacheDir);
29
+public function setUp(): void
30
+{
31
+$this->sCacheDir = __DIR__ . '/../tmp';
32
+@mkdir($this->sCacheDir);
33 33
 
34
-        jaxon()->di()->getPluginManager()->registerPlugins();
35
-        _register();
34
+jaxon()->di()->getPluginManager()->registerPlugins();
35
+_register();
36 36
 
37
-        jaxon()->di()->val('jaxon_annotations_cache_dir', $this->sCacheDir);
38
-    }
37
+jaxon()->di()->val('jaxon_annotations_cache_dir', $this->sCacheDir);
38
+}
39 39
 
40
-    /**
40
+/**
41 41
      * @throws SetupException
42 42
      */
43
-    public function tearDown(): void
44
-    {
45
-        jaxon()->reset();
46
-        parent::tearDown();
47
-
48
-        // Delete the temp dir and all its content
49
-        $aFiles = scandir($this->sCacheDir);
50
-        foreach ($aFiles as $sFile)
51
-        {
52
-            if($sFile !== '.' && $sFile !== '..')
53
-            {
54
-                @unlink($this->sCacheDir . DIRECTORY_SEPARATOR . $sFile);
55
-            }
56
-        }
57
-        @rmdir($this->sCacheDir);
58
-    }
59
-
60
-    /**
43
+public function tearDown(): void
44
+{
45
+jaxon()->reset();
46
+parent::tearDown();
47
+
48
+// Delete the temp dir and all its content
49
+$aFiles = scandir($this->sCacheDir);
50
+foreach ($aFiles as $sFile)
51
+{
52
+if($sFile !== '.' && $sFile !== '..')
53
+{
54
+    @unlink($this->sCacheDir . DIRECTORY_SEPARATOR . $sFile);
55
+}
56
+}
57
+@rmdir($this->sCacheDir);
58
+}
59
+
60
+/**
61 61
      * @throws SetupException
62 62
      */
63
-    public function testUploadAndExcludeAnnotation()
64
-    {
65
-        $xMetadata = $this->getAttributes(Annotated::class, ['saveFiles', 'doNot']);
66
-        $bExcluded = $xMetadata->isExcluded();
67
-        $aProperties = $xMetadata->getProperties();
68
-        $aExcluded = $xMetadata->getExceptMethods();
63
+public function testUploadAndExcludeAnnotation()
64
+{
65
+$xMetadata = $this->getAttributes(Annotated::class, ['saveFiles', 'doNot']);
66
+$bExcluded = $xMetadata->isExcluded();
67
+$aProperties = $xMetadata->getProperties();
68
+$aExcluded = $xMetadata->getExceptMethods();
69 69
 
70
-        $this->assertFalse($bExcluded);
70
+$this->assertFalse($bExcluded);
71 71
 
72
-        $this->assertCount(1, $aProperties);
73
-        $this->assertArrayHasKey('saveFiles', $aProperties);
74
-        $this->assertCount(1, $aProperties['saveFiles']);
75
-        $this->assertEquals("'user-files'", $aProperties['saveFiles']['upload']);
72
+$this->assertCount(1, $aProperties);
73
+$this->assertArrayHasKey('saveFiles', $aProperties);
74
+$this->assertCount(1, $aProperties['saveFiles']);
75
+$this->assertEquals("'user-files'", $aProperties['saveFiles']['upload']);
76 76
 
77
-        $this->assertCount(1, $aExcluded);
78
-        $this->assertEquals('doNot', $aExcluded[0]);
79
-    }
77
+$this->assertCount(1, $aExcluded);
78
+$this->assertEquals('doNot', $aExcluded[0]);
79
+}
80 80
 
81
-    /**
81
+/**
82 82
      * @throws SetupException
83 83
      */
84
-    public function testDatabagAnnotation()
85
-    {
86
-        $xMetadata = $this->getAttributes(Annotated::class, ['withBags']);
87
-        $bExcluded = $xMetadata->isExcluded();
88
-        $aProperties = $xMetadata->getProperties();
89
-
90
-        $this->assertFalse($bExcluded);
91
-
92
-        $this->assertCount(1, $aProperties);
93
-        $this->assertArrayHasKey('withBags', $aProperties);
94
-        $this->assertCount(1, $aProperties['withBags']);
95
-        $this->assertCount(2, $aProperties['withBags']['bags']);
96
-        $this->assertEquals('user.name', $aProperties['withBags']['bags'][0]);
97
-        $this->assertEquals('page.number', $aProperties['withBags']['bags'][1]);
98
-    }
99
-
100
-    /**
84
+public function testDatabagAnnotation()
85
+{
86
+$xMetadata = $this->getAttributes(Annotated::class, ['withBags']);
87
+$bExcluded = $xMetadata->isExcluded();
88
+$aProperties = $xMetadata->getProperties();
89
+
90
+$this->assertFalse($bExcluded);
91
+
92
+$this->assertCount(1, $aProperties);
93
+$this->assertArrayHasKey('withBags', $aProperties);
94
+$this->assertCount(1, $aProperties['withBags']);
95
+$this->assertCount(2, $aProperties['withBags']['bags']);
96
+$this->assertEquals('user.name', $aProperties['withBags']['bags'][0]);
97
+$this->assertEquals('page.number', $aProperties['withBags']['bags'][1]);
98
+}
99
+
100
+/**
101 101
      * @throws SetupException
102 102
      */
103
-    public function testServerCallbacksAnnotation()
104
-    {
105
-        $xMetadata = $this->getAttributes(Annotated::class,
106
-            ['cbSingle', 'cbMultiple', 'cbParams']);
107
-        $bExcluded = $xMetadata->isExcluded();
108
-        $aProperties = $xMetadata->getProperties();
109
-
110
-        $this->assertFalse($bExcluded);
111
-
112
-        $this->assertCount(3, $aProperties);
113
-        $this->assertArrayHasKey('cbSingle', $aProperties);
114
-        $this->assertArrayHasKey('cbMultiple', $aProperties);
115
-        $this->assertArrayHasKey('cbParams', $aProperties);
116
-
117
-        $this->assertCount(1, $aProperties['cbSingle']['__before']);
118
-        $this->assertCount(2, $aProperties['cbMultiple']['__before']);
119
-        $this->assertCount(2, $aProperties['cbParams']['__before']);
120
-        $this->assertArrayHasKey('funcBefore', $aProperties['cbSingle']['__before']);
121
-        $this->assertArrayHasKey('funcBefore1', $aProperties['cbMultiple']['__before']);
122
-        $this->assertArrayHasKey('funcBefore2', $aProperties['cbMultiple']['__before']);
123
-        $this->assertArrayHasKey('funcBefore1', $aProperties['cbParams']['__before']);
124
-        $this->assertArrayHasKey('funcBefore2', $aProperties['cbParams']['__before']);
125
-        $this->assertIsArray($aProperties['cbSingle']['__before']['funcBefore']);
126
-        $this->assertIsArray($aProperties['cbMultiple']['__before']['funcBefore1']);
127
-        $this->assertIsArray($aProperties['cbMultiple']['__before']['funcBefore2']);
128
-        $this->assertIsArray($aProperties['cbParams']['__before']['funcBefore1']);
129
-        $this->assertIsArray($aProperties['cbParams']['__before']['funcBefore2']);
130
-
131
-        $this->assertCount(1, $aProperties['cbSingle']['__after']);
132
-        $this->assertCount(3, $aProperties['cbMultiple']['__after']);
133
-        $this->assertCount(1, $aProperties['cbParams']['__after']);
134
-        $this->assertArrayHasKey('funcAfter', $aProperties['cbSingle']['__after']);
135
-        $this->assertArrayHasKey('funcAfter1', $aProperties['cbMultiple']['__after']);
136
-        $this->assertArrayHasKey('funcAfter2', $aProperties['cbMultiple']['__after']);
137
-        $this->assertArrayHasKey('funcAfter3', $aProperties['cbMultiple']['__after']);
138
-        $this->assertArrayHasKey('funcAfter1', $aProperties['cbParams']['__after']);
139
-        $this->assertIsArray($aProperties['cbSingle']['__after']['funcAfter']);
140
-        $this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter1']);
141
-        $this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter2']);
142
-        $this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter3']);
143
-        $this->assertIsArray($aProperties['cbParams']['__after']['funcAfter1']);
144
-    }
145
-
146
-    /**
103
+public function testServerCallbacksAnnotation()
104
+{
105
+$xMetadata = $this->getAttributes(Annotated::class,
106
+['cbSingle', 'cbMultiple', 'cbParams']);
107
+$bExcluded = $xMetadata->isExcluded();
108
+$aProperties = $xMetadata->getProperties();
109
+
110
+$this->assertFalse($bExcluded);
111
+
112
+$this->assertCount(3, $aProperties);
113
+$this->assertArrayHasKey('cbSingle', $aProperties);
114
+$this->assertArrayHasKey('cbMultiple', $aProperties);
115
+$this->assertArrayHasKey('cbParams', $aProperties);
116
+
117
+$this->assertCount(1, $aProperties['cbSingle']['__before']);
118
+$this->assertCount(2, $aProperties['cbMultiple']['__before']);
119
+$this->assertCount(2, $aProperties['cbParams']['__before']);
120
+$this->assertArrayHasKey('funcBefore', $aProperties['cbSingle']['__before']);
121
+$this->assertArrayHasKey('funcBefore1', $aProperties['cbMultiple']['__before']);
122
+$this->assertArrayHasKey('funcBefore2', $aProperties['cbMultiple']['__before']);
123
+$this->assertArrayHasKey('funcBefore1', $aProperties['cbParams']['__before']);
124
+$this->assertArrayHasKey('funcBefore2', $aProperties['cbParams']['__before']);
125
+$this->assertIsArray($aProperties['cbSingle']['__before']['funcBefore']);
126
+$this->assertIsArray($aProperties['cbMultiple']['__before']['funcBefore1']);
127
+$this->assertIsArray($aProperties['cbMultiple']['__before']['funcBefore2']);
128
+$this->assertIsArray($aProperties['cbParams']['__before']['funcBefore1']);
129
+$this->assertIsArray($aProperties['cbParams']['__before']['funcBefore2']);
130
+
131
+$this->assertCount(1, $aProperties['cbSingle']['__after']);
132
+$this->assertCount(3, $aProperties['cbMultiple']['__after']);
133
+$this->assertCount(1, $aProperties['cbParams']['__after']);
134
+$this->assertArrayHasKey('funcAfter', $aProperties['cbSingle']['__after']);
135
+$this->assertArrayHasKey('funcAfter1', $aProperties['cbMultiple']['__after']);
136
+$this->assertArrayHasKey('funcAfter2', $aProperties['cbMultiple']['__after']);
137
+$this->assertArrayHasKey('funcAfter3', $aProperties['cbMultiple']['__after']);
138
+$this->assertArrayHasKey('funcAfter1', $aProperties['cbParams']['__after']);
139
+$this->assertIsArray($aProperties['cbSingle']['__after']['funcAfter']);
140
+$this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter1']);
141
+$this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter2']);
142
+$this->assertIsArray($aProperties['cbMultiple']['__after']['funcAfter3']);
143
+$this->assertIsArray($aProperties['cbParams']['__after']['funcAfter1']);
144
+}
145
+
146
+/**
147 147
      * @throws SetupException
148 148
      */
149
-    public function testContainerAnnotation()
150
-    {
151
-        $xMetadata = $this->getAttributes(Annotated::class, ['di1', 'di2']);
152
-        $bExcluded = $xMetadata->isExcluded();
153
-        $aProperties = $xMetadata->getProperties();
154
-
155
-        $this->assertFalse($bExcluded);
156
-
157
-        $this->assertCount(2, $aProperties);
158
-        $this->assertArrayHasKey('di1', $aProperties);
159
-        $this->assertArrayHasKey('di2', $aProperties);
160
-        $this->assertCount(2, $aProperties['di1']['__di']);
161
-        $this->assertCount(2, $aProperties['di2']['__di']);
162
-        $this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['di1']['__di']['colorService']);
163
-        $this->assertEquals('Jaxon\Annotations\Tests\Attr\Ajax\FontService', $aProperties['di1']['__di']['fontService']);
164
-        $this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['di2']['__di']['colorService']);
165
-        $this->assertEquals('Jaxon\Annotations\Tests\Service\TextService', $aProperties['di2']['__di']['textService']);
166
-    }
167
-
168
-    /**
149
+public function testContainerAnnotation()
150
+{
151
+$xMetadata = $this->getAttributes(Annotated::class, ['di1', 'di2']);
152
+$bExcluded = $xMetadata->isExcluded();
153
+$aProperties = $xMetadata->getProperties();
154
+
155
+$this->assertFalse($bExcluded);
156
+
157
+$this->assertCount(2, $aProperties);
158
+$this->assertArrayHasKey('di1', $aProperties);
159
+$this->assertArrayHasKey('di2', $aProperties);
160
+$this->assertCount(2, $aProperties['di1']['__di']);
161
+$this->assertCount(2, $aProperties['di2']['__di']);
162
+$this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['di1']['__di']['colorService']);
163
+$this->assertEquals('Jaxon\Annotations\Tests\Attr\Ajax\FontService', $aProperties['di1']['__di']['fontService']);
164
+$this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['di2']['__di']['colorService']);
165
+$this->assertEquals('Jaxon\Annotations\Tests\Service\TextService', $aProperties['di2']['__di']['textService']);
166
+}
167
+
168
+/**
169 169
      * @throws SetupException
170 170
      */
171
-    public function testClassAnnotation()
172
-    {
173
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
174
-        $bExcluded = $xMetadata->isExcluded();
175
-        $aProperties = $xMetadata->getProperties();
176
-
177
-        $this->assertFalse($bExcluded);
178
-
179
-        $this->assertCount(1, $aProperties);
180
-        $this->assertArrayHasKey('*', $aProperties);
181
-        $this->assertCount(5, $aProperties['*']);
182
-        $this->assertArrayHasKey('bags', $aProperties['*']);
183
-        $this->assertArrayHasKey('callback', $aProperties['*']);
184
-        $this->assertArrayHasKey('__before', $aProperties['*']);
185
-        $this->assertArrayHasKey('__after', $aProperties['*']);
186
-    }
187
-
188
-    /**
171
+public function testClassAnnotation()
172
+{
173
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
174
+$bExcluded = $xMetadata->isExcluded();
175
+$aProperties = $xMetadata->getProperties();
176
+
177
+$this->assertFalse($bExcluded);
178
+
179
+$this->assertCount(1, $aProperties);
180
+$this->assertArrayHasKey('*', $aProperties);
181
+$this->assertCount(5, $aProperties['*']);
182
+$this->assertArrayHasKey('bags', $aProperties['*']);
183
+$this->assertArrayHasKey('callback', $aProperties['*']);
184
+$this->assertArrayHasKey('__before', $aProperties['*']);
185
+$this->assertArrayHasKey('__after', $aProperties['*']);
186
+}
187
+
188
+/**
189 189
      * @throws SetupException
190 190
      */
191
-    public function testClassBagsAnnotation()
192
-    {
193
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
194
-        $aProperties = $xMetadata->getProperties();
191
+public function testClassBagsAnnotation()
192
+{
193
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
194
+$aProperties = $xMetadata->getProperties();
195 195
 
196
-        $this->assertCount(2, $aProperties['*']['bags']);
197
-        $this->assertEquals('user.name', $aProperties['*']['bags'][0]);
198
-        $this->assertEquals('page.number', $aProperties['*']['bags'][1]);
199
-    }
196
+$this->assertCount(2, $aProperties['*']['bags']);
197
+$this->assertEquals('user.name', $aProperties['*']['bags'][0]);
198
+$this->assertEquals('page.number', $aProperties['*']['bags'][1]);
199
+}
200 200
 
201
-    /**
201
+/**
202 202
      * @throws SetupException
203 203
      */
204
-    public function testClassCallbackAnnotation()
205
-    {
206
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
207
-        $aProperties = $xMetadata->getProperties();
204
+public function testClassCallbackAnnotation()
205
+{
206
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
207
+$aProperties = $xMetadata->getProperties();
208 208
 
209
-        $this->assertIsArray($aProperties['*']['callback']);
210
-        $this->assertEquals('jaxon.callback.global', $aProperties['*']['callback'][0]);
211
-    }
209
+$this->assertIsArray($aProperties['*']['callback']);
210
+$this->assertEquals('jaxon.callback.global', $aProperties['*']['callback'][0]);
211
+}
212 212
 
213
-    /**
213
+/**
214 214
      * @throws SetupException
215 215
      */
216
-    public function testClassBeforeAnnotation()
217
-    {
218
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
219
-        $aProperties = $xMetadata->getProperties();
220
-
221
-        $this->assertCount(2, $aProperties['*']['__before']);
222
-        $this->assertArrayHasKey('funcBefore1', $aProperties['*']['__before']);
223
-        $this->assertArrayHasKey('funcBefore2', $aProperties['*']['__before']);
224
-        $this->assertIsArray($aProperties['*']['__before']['funcBefore1']);
225
-        $this->assertIsArray($aProperties['*']['__before']['funcBefore2']);
226
-    }
227
-
228
-    /**
216
+public function testClassBeforeAnnotation()
217
+{
218
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
219
+$aProperties = $xMetadata->getProperties();
220
+
221
+$this->assertCount(2, $aProperties['*']['__before']);
222
+$this->assertArrayHasKey('funcBefore1', $aProperties['*']['__before']);
223
+$this->assertArrayHasKey('funcBefore2', $aProperties['*']['__before']);
224
+$this->assertIsArray($aProperties['*']['__before']['funcBefore1']);
225
+$this->assertIsArray($aProperties['*']['__before']['funcBefore2']);
226
+}
227
+
228
+/**
229 229
      * @throws SetupException
230 230
      */
231
-    public function testClassAfterAnnotation()
232
-    {
233
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
234
-        $aProperties = $xMetadata->getProperties();
235
-
236
-        $this->assertCount(3, $aProperties['*']['__after']);
237
-        $this->assertArrayHasKey('funcAfter1', $aProperties['*']['__after']);
238
-        $this->assertArrayHasKey('funcAfter2', $aProperties['*']['__after']);
239
-        $this->assertArrayHasKey('funcAfter3', $aProperties['*']['__after']);
240
-        $this->assertIsArray($aProperties['*']['__after']['funcAfter1']);
241
-        $this->assertIsArray($aProperties['*']['__after']['funcAfter2']);
242
-        $this->assertIsArray($aProperties['*']['__after']['funcAfter3']);
243
-    }
244
-
245
-    /**
231
+public function testClassAfterAnnotation()
232
+{
233
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
234
+$aProperties = $xMetadata->getProperties();
235
+
236
+$this->assertCount(3, $aProperties['*']['__after']);
237
+$this->assertArrayHasKey('funcAfter1', $aProperties['*']['__after']);
238
+$this->assertArrayHasKey('funcAfter2', $aProperties['*']['__after']);
239
+$this->assertArrayHasKey('funcAfter3', $aProperties['*']['__after']);
240
+$this->assertIsArray($aProperties['*']['__after']['funcAfter1']);
241
+$this->assertIsArray($aProperties['*']['__after']['funcAfter2']);
242
+$this->assertIsArray($aProperties['*']['__after']['funcAfter3']);
243
+}
244
+
245
+/**
246 246
      * @throws SetupException
247 247
      */
248
-    public function testClassDiAnnotation()
249
-    {
250
-        $xMetadata = $this->getAttributes(ClassAnnotated::class, []);
251
-        $aProperties = $xMetadata->getProperties();
252
-
253
-        $this->assertCount(3, $aProperties['*']['__di']);
254
-        $this->assertArrayHasKey('colorService', $aProperties['*']['__di']);
255
-        $this->assertArrayHasKey('textService', $aProperties['*']['__di']);
256
-        $this->assertArrayHasKey('fontService', $aProperties['*']['__di']);
257
-        $this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['*']['__di']['colorService']);
258
-        $this->assertEquals('Jaxon\Annotations\Tests\Service\TextService', $aProperties['*']['__di']['textService']);
259
-        $this->assertEquals('Jaxon\Annotations\Tests\Attr\Ajax\FontService', $aProperties['*']['__di']['fontService']);
260
-    }
261
-
262
-    /**
248
+public function testClassDiAnnotation()
249
+{
250
+$xMetadata = $this->getAttributes(ClassAnnotated::class, []);
251
+$aProperties = $xMetadata->getProperties();
252
+
253
+$this->assertCount(3, $aProperties['*']['__di']);
254
+$this->assertArrayHasKey('colorService', $aProperties['*']['__di']);
255
+$this->assertArrayHasKey('textService', $aProperties['*']['__di']);
256
+$this->assertArrayHasKey('fontService', $aProperties['*']['__di']);
257
+$this->assertEquals('Jaxon\Annotations\Tests\Service\ColorService', $aProperties['*']['__di']['colorService']);
258
+$this->assertEquals('Jaxon\Annotations\Tests\Service\TextService', $aProperties['*']['__di']['textService']);
259
+$this->assertEquals('Jaxon\Annotations\Tests\Attr\Ajax\FontService', $aProperties['*']['__di']['fontService']);
260
+}
261
+
262
+/**
263 263
      * @throws SetupException
264 264
      */
265
-    public function testClassExcludeAnnotation()
266
-    {
267
-        $xMetadata = $this->getAttributes(ClassExcluded::class,
268
-            ['doNot', 'withBags', 'cbSingle']);
269
-        $bExcluded = $xMetadata->isExcluded();
270
-        $aProperties = $xMetadata->getProperties();
271
-        $aExcluded = $xMetadata->getExceptMethods();
272
-
273
-        $xData = $xMetadata->exclude();
274
-        $this->assertTrue($xData->getValue());
275
-        $this->assertEquals('protected', $xData->getName());
276
-
277
-        $this->assertTrue($bExcluded);
278
-        $this->assertEmpty($aProperties);
279
-        $this->assertEmpty($aExcluded);
280
-    }
281
-
282
-    public function testExcludeAnnotationError()
283
-    {
284
-        $this->expectException(SetupException::class);
285
-        $this->getAttributes(Annotated::class, ['doNotError']);
286
-    }
287
-
288
-    public function testDatabagAnnotationError()
289
-    {
290
-        $this->expectException(SetupException::class);
291
-        $this->getAttributes(Annotated::class, ['withBagsError']);
292
-    }
293
-
294
-    public function testUploadAnnotationWrongName()
295
-    {
296
-        $this->expectException(SetupException::class);
297
-        $this->getAttributes(Annotated::class, ['saveFilesWrongName']);
298
-    }
299
-
300
-    public function testUploadAnnotationMultiple()
301
-    {
302
-        $this->expectException(SetupException::class);
303
-        $this->getAttributes(Annotated::class, ['saveFilesMultiple']);
304
-    }
305
-
306
-    public function testCallbacksBeforeAnnotationNoCall()
307
-    {
308
-        $this->expectException(SetupException::class);
309
-        $this->getAttributes(Annotated::class, ['cbBeforeNoCall']);
310
-    }
311
-
312
-    public function testCallbacksBeforeAnnotationUnknownAttr()
313
-    {
314
-        $this->expectException(SetupException::class);
315
-        $this->getAttributes(Annotated::class, ['cbBeforeUnknownAttr']);
316
-    }
317
-
318
-    public function testCallbacksBeforeAnnotationWrongAttrType()
319
-    {
320
-        $this->expectException(SetupException::class);
321
-        $this->getAttributes(Annotated::class, ['cbBeforeWrongAttrType']);
322
-    }
323
-
324
-    public function testCallbacksAfterAnnotationNoCall()
325
-    {
326
-        $this->expectException(SetupException::class);
327
-        $this->getAttributes(Annotated::class, ['cbAfterNoCall']);
328
-    }
329
-
330
-    public function testCallbacksAfterAnnotationUnknownAttr()
331
-    {
332
-        $this->expectException(SetupException::class);
333
-        $this->getAttributes(Annotated::class, ['cbAfterUnknownAttr']);
334
-    }
335
-
336
-    public function testCallbacksAfterAnnotationWrongAttrType()
337
-    {
338
-        $this->expectException(SetupException::class);
339
-        $this->getAttributes(Annotated::class, ['cbAfterWrongAttrType']);
340
-    }
341
-
342
-    public function testContainerAnnotationUnknownAttr()
343
-    {
344
-        $this->expectException(SetupException::class);
345
-        $this->getAttributes(Annotated::class, ['diUnknownAttr']);
346
-    }
347
-
348
-    public function testContainerAnnotationWrongAttrType()
349
-    {
350
-        $this->expectException(SetupException::class);
351
-        $this->getAttributes(Annotated::class, ['diWrongAttrType']);
352
-    }
353
-
354
-    public function testContainerAnnotationWrongClassType()
355
-    {
356
-        $this->expectException(SetupException::class);
357
-        $this->getAttributes(Annotated::class, ['diWrongClassType']);
358
-    }
359
-
360
-    public function testContainerAnnotationWrongVarCount()
361
-    {
362
-        $this->expectException(SetupException::class);
363
-        $this->getAttributes(Annotated::class, ['diWrongVarCount']);
364
-    }
365
-
366
-    public function testContainerErrorTwiceOnProp()
367
-    {
368
-        $this->expectException(SetupException::class);
369
-        $this->getAttributes(ContainerError::class, [], ['prop']);
370
-    }
371
-
372
-    public function testCallbackErrorNoName()
373
-    {
374
-        $this->expectException(SetupException::class);
375
-        $this->getAttributes(CallbackError::class, ['noName']);
376
-    }
377
-
378
-    public function testCallbackErrorWrongNameType()
379
-    {
380
-        $this->expectException(SetupException::class);
381
-        $this->getAttributes(CallbackError::class, ['wrongNameType']);
382
-    }
383
-
384
-    public function testCallbackErrorWrongNameAttr()
385
-    {
386
-        $this->expectException(SetupException::class);
387
-        $this->getAttributes(CallbackError::class, ['wrongNameAttr']);
388
-    }
389
-
390
-    public function testCallbackErrorNameWithSpace()
391
-    {
392
-        $this->expectException(SetupException::class);
393
-        $this->getAttributes(CallbackError::class, ['nameWithSpace']);
394
-    }
395
-
396
-    public function testCallbackErrorStartWithInt()
397
-    {
398
-        $this->expectException(SetupException::class);
399
-        $this->getAttributes(CallbackError::class, ['startWithInt']);
400
-    }
265
+public function testClassExcludeAnnotation()
266
+{
267
+$xMetadata = $this->getAttributes(ClassExcluded::class,
268
+['doNot', 'withBags', 'cbSingle']);
269
+$bExcluded = $xMetadata->isExcluded();
270
+$aProperties = $xMetadata->getProperties();
271
+$aExcluded = $xMetadata->getExceptMethods();
272
+
273
+$xData = $xMetadata->exclude();
274
+$this->assertTrue($xData->getValue());
275
+$this->assertEquals('protected', $xData->getName());
276
+
277
+$this->assertTrue($bExcluded);
278
+$this->assertEmpty($aProperties);
279
+$this->assertEmpty($aExcluded);
280
+}
281
+
282
+public function testExcludeAnnotationError()
283
+{
284
+$this->expectException(SetupException::class);
285
+$this->getAttributes(Annotated::class, ['doNotError']);
286
+}
287
+
288
+public function testDatabagAnnotationError()
289
+{
290
+$this->expectException(SetupException::class);
291
+$this->getAttributes(Annotated::class, ['withBagsError']);
292
+}
293
+
294
+public function testUploadAnnotationWrongName()
295
+{
296
+$this->expectException(SetupException::class);
297
+$this->getAttributes(Annotated::class, ['saveFilesWrongName']);
298
+}
299
+
300
+public function testUploadAnnotationMultiple()
301
+{
302
+$this->expectException(SetupException::class);
303
+$this->getAttributes(Annotated::class, ['saveFilesMultiple']);
304
+}
305
+
306
+public function testCallbacksBeforeAnnotationNoCall()
307
+{
308
+$this->expectException(SetupException::class);
309
+$this->getAttributes(Annotated::class, ['cbBeforeNoCall']);
310
+}
311
+
312
+public function testCallbacksBeforeAnnotationUnknownAttr()
313
+{
314
+$this->expectException(SetupException::class);
315
+$this->getAttributes(Annotated::class, ['cbBeforeUnknownAttr']);
316
+}
317
+
318
+public function testCallbacksBeforeAnnotationWrongAttrType()
319
+{
320
+$this->expectException(SetupException::class);
321
+$this->getAttributes(Annotated::class, ['cbBeforeWrongAttrType']);
322
+}
323
+
324
+public function testCallbacksAfterAnnotationNoCall()
325
+{
326
+$this->expectException(SetupException::class);
327
+$this->getAttributes(Annotated::class, ['cbAfterNoCall']);
328
+}
329
+
330
+public function testCallbacksAfterAnnotationUnknownAttr()
331
+{
332
+$this->expectException(SetupException::class);
333
+$this->getAttributes(Annotated::class, ['cbAfterUnknownAttr']);
334
+}
335
+
336
+public function testCallbacksAfterAnnotationWrongAttrType()
337
+{
338
+$this->expectException(SetupException::class);
339
+$this->getAttributes(Annotated::class, ['cbAfterWrongAttrType']);
340
+}
341
+
342
+public function testContainerAnnotationUnknownAttr()
343
+{
344
+$this->expectException(SetupException::class);
345
+$this->getAttributes(Annotated::class, ['diUnknownAttr']);
346
+}
347
+
348
+public function testContainerAnnotationWrongAttrType()
349
+{
350
+$this->expectException(SetupException::class);
351
+$this->getAttributes(Annotated::class, ['diWrongAttrType']);
352
+}
353
+
354
+public function testContainerAnnotationWrongClassType()
355
+{
356
+$this->expectException(SetupException::class);
357
+$this->getAttributes(Annotated::class, ['diWrongClassType']);
358
+}
359
+
360
+public function testContainerAnnotationWrongVarCount()
361
+{
362
+$this->expectException(SetupException::class);
363
+$this->getAttributes(Annotated::class, ['diWrongVarCount']);
364
+}
365
+
366
+public function testContainerErrorTwiceOnProp()
367
+{
368
+$this->expectException(SetupException::class);
369
+$this->getAttributes(ContainerError::class, [], ['prop']);
370
+}
371
+
372
+public function testCallbackErrorNoName()
373
+{
374
+$this->expectException(SetupException::class);
375
+$this->getAttributes(CallbackError::class, ['noName']);
376
+}
377
+
378
+public function testCallbackErrorWrongNameType()
379
+{
380
+$this->expectException(SetupException::class);
381
+$this->getAttributes(CallbackError::class, ['wrongNameType']);
382
+}
383
+
384
+public function testCallbackErrorWrongNameAttr()
385
+{
386
+$this->expectException(SetupException::class);
387
+$this->getAttributes(CallbackError::class, ['wrongNameAttr']);
388
+}
389
+
390
+public function testCallbackErrorNameWithSpace()
391
+{
392
+$this->expectException(SetupException::class);
393
+$this->getAttributes(CallbackError::class, ['nameWithSpace']);
394
+}
395
+
396
+public function testCallbackErrorStartWithInt()
397
+{
398
+$this->expectException(SetupException::class);
399
+$this->getAttributes(CallbackError::class, ['startWithInt']);
400
+}
401 401
 }
Please login to merge, or discard this patch.