Completed
Push — master ( a6cc58...1b8eb5 )
by Martijn
26s
created
tests/output/docblock comment in method/source.php 2 patches
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@
 block discarded – undo
13 13
 class Example
14 14
 {
15 15
 
16
-    public function Dummy()
17
-    {
18
-        /**
19
-         * @rest\endpoint /v1/users/{id}
20
-         * @rest\method GET Return a JSON with all the user attributes
21
-         * @rest\path Int id The ID of the User
22
-         * @rest\response 200 User
23
-         */
24
-        $app->get('/v1/users/{id:[0-9]+}', function ($request, $response, $args) {
25
-            // ...
26
-        });
27
-    }
16
+	public function Dummy()
17
+	{
18
+		/**
19
+		 * @rest\endpoint /v1/users/{id}
20
+		 * @rest\method GET Return a JSON with all the user attributes
21
+		 * @rest\path Int id The ID of the User
22
+		 * @rest\response 200 User
23
+		 */
24
+		$app->get('/v1/users/{id:[0-9]+}', function ($request, $response, $args) {
25
+			// ...
26
+		});
27
+	}
28 28
 
29 29
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
          * @rest\path Int id The ID of the User
22 22
          * @rest\response 200 User
23 23
          */
24
-        $app->get('/v1/users/{id:[0-9]+}', function ($request, $response, $args) {
24
+        $app->get('/v1/users/{id:[0-9]+}', function($request, $response, $args) {
25 25
             // ...
26 26
         });
27 27
     }
Please login to merge, or discard this patch.
tests/Swagger/ResponseTest.php 1 patch
Indentation   +398 added lines, -398 removed lines patch added patch discarded remove patch
@@ -3,403 +3,403 @@
 block discarded – undo
3 3
 class ResponseTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\Swagger');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Response::__construct
20
-     */
21
-    public function testConstructor_200()
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
24
-
25
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
26
-
27
-        $this->assertSame(array(
28
-            'description' => 'OK',
29
-        ), $object->toArray());
30
-    }
31
-
32
-    /**
33
-     * @covers \SwaggerGen\Swagger\Response::__construct
34
-     */
35
-    public function testConstructor_404Type()
36
-    {
37
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 404);
38
-
39
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
40
-
41
-        $this->assertSame(array(
42
-            'description' => 'Not Found',
43
-        ), $object->toArray());
44
-    }
45
-
46
-    /**
47
-     * @covers \SwaggerGen\Swagger\Response::__construct
48
-     */
49
-    public function testConstructor_Type()
50
-    {
51
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200, 'int');
52
-
53
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
54
-
55
-        $this->assertSame(array(
56
-            'description' => 'OK',
57
-            'schema' => array(
58
-                'type' => 'integer',
59
-                'format' => 'int32',
60
-            ),
61
-        ), $object->toArray());
62
-    }
63
-
64
-    /**
65
-     * @covers \SwaggerGen\Swagger\Response::__construct
66
-     */
67
-    public function testConstructor_Reference()
68
-    {
69
-        $this->parent->handleCommand('model', 'User');
70
-
71
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200, 'User');
72
-
73
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
74
-
75
-        $this->assertSame(array(
76
-            'description' => 'OK',
77
-            'schema' => array(
78
-                '$ref' => '#/definitions/User',
79
-            ),
80
-        ), $object->toArray());
81
-    }
82
-
83
-    /**
84
-     * @covers \SwaggerGen\Swagger\Response::__construct
85
-     */
86
-    public function testConstructor_Description()
87
-    {
88
-        $object = new \SwaggerGen\Swagger\Response($this->parent, '200', null, 'Fine And Dandy');
89
-
90
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
91
-
92
-        $this->assertSame(array(
93
-            'description' => 'Fine And Dandy',
94
-        ), $object->toArray());
95
-    }
96
-
97
-    /**
98
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
99
-     */
100
-    public function testCommand_Header_NoType()
101
-    {
102
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
103
-
104
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
105
-
106
-        $this->expectException('\SwaggerGen\Exception', "Missing type for header");
107
-
108
-        $object->handleCommand('header', '');
109
-    }
110
-
111
-    /**
112
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
113
-     */
114
-    public function testCommand_Header_NoName()
115
-    {
116
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
117
-
118
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
119
-
120
-        $this->expectException('\SwaggerGen\Exception', "Missing name for header type 'int'");
121
-
122
-        $object->handleCommand('header', 'int');
123
-    }
124
-
125
-    /**
126
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
127
-     */
128
-    public function testCommand_Header_InvalidType()
129
-    {
130
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
131
-
132
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
133
-
134
-        $this->expectException('\SwaggerGen\Exception', "Header type not valid: 'foo'");
135
-
136
-        $object->handleCommand('header', 'foo bar');
137
-    }
138
-
139
-    /**
140
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
141
-     */
142
-    public function testCommand_Header()
143
-    {
144
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
145
-
146
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
147
-
148
-        $object->handleCommand('header', 'integer bar');
149
-
150
-        $this->assertSame(array(
151
-            'description' => 'OK',
152
-            'headers' => array(
153
-                'bar' => array(
154
-                    'type' => 'integer',
155
-                ),
156
-            ),
157
-        ), $object->toArray());
158
-    }
159
-
160
-    /**
161
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
162
-     */
163
-    public function testCommand_Header_Description()
164
-    {
165
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
166
-
167
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
168
-
169
-        $object->handleCommand('header', 'integer bar Some text');
170
-
171
-        $this->assertSame(array(
172
-            'description' => 'OK',
173
-            'headers' => array(
174
-                'bar' => array(
175
-                    'type' => 'integer',
176
-                    'description' => 'Some text',
177
-                ),
178
-            ),
179
-        ), $object->toArray());
180
-    }
181
-
182
-    /**
183
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
184
-     */
185
-    public function testCommand_Header_Multiple()
186
-    {
187
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
188
-
189
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
190
-
191
-        $object->handleCommand('header', 'integer bar');
192
-        $object->handleCommand('header', 'string X-Whatever');
193
-
194
-        $this->assertSame(array(
195
-            'description' => 'OK',
196
-            'headers' => array(
197
-                'bar' => array(
198
-                    'type' => 'integer',
199
-                ),
200
-                'X-Whatever' => array(
201
-                    'type' => 'string',
202
-                ),
203
-            ),
204
-        ), $object->toArray());
205
-    }
206
-
207
-    /**
208
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
209
-     */
210
-    public function testCommand_Example_NoName()
211
-    {
212
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
213
-
214
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
215
-
216
-        $this->expectException('\SwaggerGen\Exception', "Missing name for example");
217
-
218
-        $object->handleCommand('example', '');
219
-    }
220
-
221
-    /**
222
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
223
-     */
224
-    public function testCommand_Example_NoData()
225
-    {
226
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
227
-
228
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
229
-
230
-        $this->expectException('\SwaggerGen\Exception', "Missing content for example `Foo`");
231
-
232
-        $object->handleCommand('example', 'Foo');
233
-    }
234
-
235
-    /**
236
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
237
-     */
238
-    public function testCommand_Example_Text()
239
-    {
240
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
241
-
242
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
243
-
244
-        $object->handleCommand('example', 'Foo bar');
245
-
246
-        $this->assertSame(array(
247
-            'description' => 'OK',
248
-            'examples' => array(
249
-                'Foo' => 'bar',
250
-            ),
251
-        ), $object->toArray());
252
-    }
253
-
254
-    /**
255
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
256
-     */
257
-    public function testCommand_Example_Number()
258
-    {
259
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
260
-
261
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
262
-
263
-        $object->handleCommand('example', 'Foo 123.45');
264
-
265
-        $this->assertSame(array(
266
-            'description' => 'OK',
267
-            'examples' => array(
268
-                'Foo' => 123.45,
269
-            ),
270
-        ), $object->toArray());
271
-    }
272
-
273
-    /**
274
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
275
-     */
276
-    public function testCommand_Example_Json()
277
-    {
278
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
279
-
280
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
281
-
282
-        $object->handleCommand('example', 'Foo {"bar":"baz"}');
283
-
284
-        $this->assertSame(array(
285
-            'description' => 'OK',
286
-            'examples' => array(
287
-                'Foo' => array(
288
-                    'bar' => 'baz',
289
-                ),
290
-            ),
291
-        ), $object->toArray());
292
-    }
293
-
294
-    /**
295
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
296
-     */
297
-    public function testCommand_Example_Json_Unquoted()
298
-    {
299
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
300
-
301
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
302
-
303
-        $object->handleCommand('example', 'Foo {bar:baz}');
304
-
305
-        $this->assertSame(array(
306
-            'description' => 'OK',
307
-            'examples' => array(
308
-                'Foo' => array(
309
-                    'bar' => 'baz',
310
-                ),
311
-            ),
312
-        ), $object->toArray());
313
-    }
314
-
315
-    /**
316
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
317
-     */
318
-    public function testCommand_Example_Json_Whitespace()
319
-    {
320
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
321
-
322
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
323
-
324
-        $object->handleCommand('example', 'Foo   { "bar" : "baz" } ');
325
-
326
-        $this->assertSame(array(
327
-            'description' => 'OK',
328
-            'examples' => array(
329
-                'Foo' => array(
330
-                    'bar' => 'baz',
331
-                ),
332
-            ),
333
-        ), $object->toArray());
334
-    }
335
-
336
-    /**
337
-     * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
338
-     */
339
-    public function testCommand_Example_Json_Multiple()
340
-    {
341
-        $object = new \SwaggerGen\Swagger\Response($this->parent, 200);
342
-
343
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
344
-
345
-        $object->handleCommand('example', 'Foo   "Bar"  ');
346
-        $object->handleCommand('example', 'Baz  false');
347
-
348
-        $this->assertSame(array(
349
-            'description' => 'OK',
350
-            'examples' => array(
351
-                'Foo' => 'Bar',
352
-                'Baz' => false,
353
-            ),
354
-        ), $object->toArray());
355
-    }
356
-
357
-    /**
358
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
359
-     */
360
-    public function testGetCode_Numeric()
361
-    {
362
-        $this->assertSame(200, \SwaggerGen\Swagger\Response::getCode(200));
363
-    }
364
-
365
-    /**
366
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
367
-     */
368
-    public function testGetCode_CaseSensitive()
369
-    {
370
-        $this->assertSame(200, \SwaggerGen\Swagger\Response::getCode('OK'));
371
-    }
372
-
373
-    /**
374
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
375
-     */
376
-    public function testGetCode_CaseInsensitive()
377
-    {
378
-        $this->assertSame(200, \SwaggerGen\Swagger\Response::getCode('ok'));
379
-    }
380
-
381
-    /**
382
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
383
-     */
384
-    public function testGetCode_Space()
385
-    {
386
-        $this->assertSame(404, \SwaggerGen\Swagger\Response::getCode('not Found'));
387
-    }
388
-
389
-    /**
390
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
391
-     */
392
-    public function testGetCode_Crap()
393
-    {
394
-        $this->assertSame(404, \SwaggerGen\Swagger\Response::getCode(' not___F-ou/nd  '));
395
-    }
396
-
397
-    /**
398
-     * @covers \SwaggerGen\Swagger\Type\Response->getCode
399
-     */
400
-    public function testGetCode_Smashed()
401
-    {
402
-        $this->assertSame(404, \SwaggerGen\Swagger\Response::getCode('nOtfOund'));
403
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\Swagger');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Response::__construct
20
+	 */
21
+	public function testConstructor_200()
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
24
+
25
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
26
+
27
+		$this->assertSame(array(
28
+			'description' => 'OK',
29
+		), $object->toArray());
30
+	}
31
+
32
+	/**
33
+	 * @covers \SwaggerGen\Swagger\Response::__construct
34
+	 */
35
+	public function testConstructor_404Type()
36
+	{
37
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 404);
38
+
39
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
40
+
41
+		$this->assertSame(array(
42
+			'description' => 'Not Found',
43
+		), $object->toArray());
44
+	}
45
+
46
+	/**
47
+	 * @covers \SwaggerGen\Swagger\Response::__construct
48
+	 */
49
+	public function testConstructor_Type()
50
+	{
51
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200, 'int');
52
+
53
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
54
+
55
+		$this->assertSame(array(
56
+			'description' => 'OK',
57
+			'schema' => array(
58
+				'type' => 'integer',
59
+				'format' => 'int32',
60
+			),
61
+		), $object->toArray());
62
+	}
63
+
64
+	/**
65
+	 * @covers \SwaggerGen\Swagger\Response::__construct
66
+	 */
67
+	public function testConstructor_Reference()
68
+	{
69
+		$this->parent->handleCommand('model', 'User');
70
+
71
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200, 'User');
72
+
73
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
74
+
75
+		$this->assertSame(array(
76
+			'description' => 'OK',
77
+			'schema' => array(
78
+				'$ref' => '#/definitions/User',
79
+			),
80
+		), $object->toArray());
81
+	}
82
+
83
+	/**
84
+	 * @covers \SwaggerGen\Swagger\Response::__construct
85
+	 */
86
+	public function testConstructor_Description()
87
+	{
88
+		$object = new \SwaggerGen\Swagger\Response($this->parent, '200', null, 'Fine And Dandy');
89
+
90
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
91
+
92
+		$this->assertSame(array(
93
+			'description' => 'Fine And Dandy',
94
+		), $object->toArray());
95
+	}
96
+
97
+	/**
98
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
99
+	 */
100
+	public function testCommand_Header_NoType()
101
+	{
102
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
103
+
104
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
105
+
106
+		$this->expectException('\SwaggerGen\Exception', "Missing type for header");
107
+
108
+		$object->handleCommand('header', '');
109
+	}
110
+
111
+	/**
112
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
113
+	 */
114
+	public function testCommand_Header_NoName()
115
+	{
116
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
117
+
118
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
119
+
120
+		$this->expectException('\SwaggerGen\Exception', "Missing name for header type 'int'");
121
+
122
+		$object->handleCommand('header', 'int');
123
+	}
124
+
125
+	/**
126
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
127
+	 */
128
+	public function testCommand_Header_InvalidType()
129
+	{
130
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
131
+
132
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
133
+
134
+		$this->expectException('\SwaggerGen\Exception', "Header type not valid: 'foo'");
135
+
136
+		$object->handleCommand('header', 'foo bar');
137
+	}
138
+
139
+	/**
140
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
141
+	 */
142
+	public function testCommand_Header()
143
+	{
144
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
145
+
146
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
147
+
148
+		$object->handleCommand('header', 'integer bar');
149
+
150
+		$this->assertSame(array(
151
+			'description' => 'OK',
152
+			'headers' => array(
153
+				'bar' => array(
154
+					'type' => 'integer',
155
+				),
156
+			),
157
+		), $object->toArray());
158
+	}
159
+
160
+	/**
161
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
162
+	 */
163
+	public function testCommand_Header_Description()
164
+	{
165
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
166
+
167
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
168
+
169
+		$object->handleCommand('header', 'integer bar Some text');
170
+
171
+		$this->assertSame(array(
172
+			'description' => 'OK',
173
+			'headers' => array(
174
+				'bar' => array(
175
+					'type' => 'integer',
176
+					'description' => 'Some text',
177
+				),
178
+			),
179
+		), $object->toArray());
180
+	}
181
+
182
+	/**
183
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
184
+	 */
185
+	public function testCommand_Header_Multiple()
186
+	{
187
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
188
+
189
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
190
+
191
+		$object->handleCommand('header', 'integer bar');
192
+		$object->handleCommand('header', 'string X-Whatever');
193
+
194
+		$this->assertSame(array(
195
+			'description' => 'OK',
196
+			'headers' => array(
197
+				'bar' => array(
198
+					'type' => 'integer',
199
+				),
200
+				'X-Whatever' => array(
201
+					'type' => 'string',
202
+				),
203
+			),
204
+		), $object->toArray());
205
+	}
206
+
207
+	/**
208
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
209
+	 */
210
+	public function testCommand_Example_NoName()
211
+	{
212
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
213
+
214
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
215
+
216
+		$this->expectException('\SwaggerGen\Exception', "Missing name for example");
217
+
218
+		$object->handleCommand('example', '');
219
+	}
220
+
221
+	/**
222
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
223
+	 */
224
+	public function testCommand_Example_NoData()
225
+	{
226
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
227
+
228
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
229
+
230
+		$this->expectException('\SwaggerGen\Exception', "Missing content for example `Foo`");
231
+
232
+		$object->handleCommand('example', 'Foo');
233
+	}
234
+
235
+	/**
236
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
237
+	 */
238
+	public function testCommand_Example_Text()
239
+	{
240
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
241
+
242
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
243
+
244
+		$object->handleCommand('example', 'Foo bar');
245
+
246
+		$this->assertSame(array(
247
+			'description' => 'OK',
248
+			'examples' => array(
249
+				'Foo' => 'bar',
250
+			),
251
+		), $object->toArray());
252
+	}
253
+
254
+	/**
255
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
256
+	 */
257
+	public function testCommand_Example_Number()
258
+	{
259
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
260
+
261
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
262
+
263
+		$object->handleCommand('example', 'Foo 123.45');
264
+
265
+		$this->assertSame(array(
266
+			'description' => 'OK',
267
+			'examples' => array(
268
+				'Foo' => 123.45,
269
+			),
270
+		), $object->toArray());
271
+	}
272
+
273
+	/**
274
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
275
+	 */
276
+	public function testCommand_Example_Json()
277
+	{
278
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
279
+
280
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
281
+
282
+		$object->handleCommand('example', 'Foo {"bar":"baz"}');
283
+
284
+		$this->assertSame(array(
285
+			'description' => 'OK',
286
+			'examples' => array(
287
+				'Foo' => array(
288
+					'bar' => 'baz',
289
+				),
290
+			),
291
+		), $object->toArray());
292
+	}
293
+
294
+	/**
295
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
296
+	 */
297
+	public function testCommand_Example_Json_Unquoted()
298
+	{
299
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
300
+
301
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
302
+
303
+		$object->handleCommand('example', 'Foo {bar:baz}');
304
+
305
+		$this->assertSame(array(
306
+			'description' => 'OK',
307
+			'examples' => array(
308
+				'Foo' => array(
309
+					'bar' => 'baz',
310
+				),
311
+			),
312
+		), $object->toArray());
313
+	}
314
+
315
+	/**
316
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
317
+	 */
318
+	public function testCommand_Example_Json_Whitespace()
319
+	{
320
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
321
+
322
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
323
+
324
+		$object->handleCommand('example', 'Foo   { "bar" : "baz" } ');
325
+
326
+		$this->assertSame(array(
327
+			'description' => 'OK',
328
+			'examples' => array(
329
+				'Foo' => array(
330
+					'bar' => 'baz',
331
+				),
332
+			),
333
+		), $object->toArray());
334
+	}
335
+
336
+	/**
337
+	 * @covers \SwaggerGen\Swagger\Type\Response->handleCommand
338
+	 */
339
+	public function testCommand_Example_Json_Multiple()
340
+	{
341
+		$object = new \SwaggerGen\Swagger\Response($this->parent, 200);
342
+
343
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $object);
344
+
345
+		$object->handleCommand('example', 'Foo   "Bar"  ');
346
+		$object->handleCommand('example', 'Baz  false');
347
+
348
+		$this->assertSame(array(
349
+			'description' => 'OK',
350
+			'examples' => array(
351
+				'Foo' => 'Bar',
352
+				'Baz' => false,
353
+			),
354
+		), $object->toArray());
355
+	}
356
+
357
+	/**
358
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
359
+	 */
360
+	public function testGetCode_Numeric()
361
+	{
362
+		$this->assertSame(200, \SwaggerGen\Swagger\Response::getCode(200));
363
+	}
364
+
365
+	/**
366
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
367
+	 */
368
+	public function testGetCode_CaseSensitive()
369
+	{
370
+		$this->assertSame(200, \SwaggerGen\Swagger\Response::getCode('OK'));
371
+	}
372
+
373
+	/**
374
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
375
+	 */
376
+	public function testGetCode_CaseInsensitive()
377
+	{
378
+		$this->assertSame(200, \SwaggerGen\Swagger\Response::getCode('ok'));
379
+	}
380
+
381
+	/**
382
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
383
+	 */
384
+	public function testGetCode_Space()
385
+	{
386
+		$this->assertSame(404, \SwaggerGen\Swagger\Response::getCode('not Found'));
387
+	}
388
+
389
+	/**
390
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
391
+	 */
392
+	public function testGetCode_Crap()
393
+	{
394
+		$this->assertSame(404, \SwaggerGen\Swagger\Response::getCode(' not___F-ou/nd  '));
395
+	}
396
+
397
+	/**
398
+	 * @covers \SwaggerGen\Swagger\Type\Response->getCode
399
+	 */
400
+	public function testGetCode_Smashed()
401
+	{
402
+		$this->assertSame(404, \SwaggerGen\Swagger\Response::getCode('nOtfOund'));
403
+	}
404 404
 
405 405
 }
Please login to merge, or discard this patch.
tests/Swagger/HeaderTest.php 1 patch
Indentation   +95 added lines, -95 removed lines patch added patch discarded remove patch
@@ -3,99 +3,99 @@
 block discarded – undo
3 3
 class HeaderTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Header::__construct
20
-     */
21
-    public function testConstructorType(): void
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Header($this->parent, 'integer');
24
-
25
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
26
-
27
-        $this->assertSame(array(
28
-            'type' => 'integer',
29
-        ), $object->toArray());
30
-    }
31
-
32
-    /**
33
-     * @covers \SwaggerGen\Swagger\Header::__construct
34
-     */
35
-    public function testConstructorInvalidType()
36
-    {
37
-        $this->expectException('\SwaggerGen\Exception', "Header type not valid: 'BadType'");
38
-
39
-        new \SwaggerGen\Swagger\Header($this->parent, 'BadType');
40
-    }
41
-
42
-    /**
43
-     * @covers \SwaggerGen\Swagger\Header::__construct
44
-     */
45
-    public function testConstructorNoDescription()
46
-    {
47
-        $object = new \SwaggerGen\Swagger\Header($this->parent, 'integer');
48
-
49
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
50
-
51
-        $this->assertSame(array(
52
-            'type' => 'integer',
53
-        ), $object->toArray());
54
-    }
55
-
56
-    /**
57
-     * @covers \SwaggerGen\Swagger\Header::__construct
58
-     */
59
-    public function testConstructorBlankDescription()
60
-    {
61
-        $object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', '');
62
-
63
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
64
-
65
-        $this->assertSame(array(
66
-            'type' => 'integer',
67
-        ), $object->toArray());
68
-    }
69
-
70
-    /**
71
-     * @covers \SwaggerGen\Swagger\Header::__construct
72
-     */
73
-    public function testConstructorFull()
74
-    {
75
-        $object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', 'descriptive text');
76
-
77
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
78
-
79
-        $this->assertSame(array(
80
-            'type' => 'integer',
81
-            'description' => 'descriptive text',
82
-        ), $object->toArray());
83
-    }
84
-
85
-    /**
86
-     * @covers \SwaggerGen\Swagger\Header->handleCommand
87
-     */
88
-    public function testCommandDescription()
89
-    {
90
-        $object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', 'descriptive text');
91
-
92
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
93
-
94
-        $object->handleCommand('description', 'Some other lines');
95
-
96
-        $this->assertSame(array(
97
-            'type' => 'integer',
98
-            'description' => 'Some other lines',
99
-        ), $object->toArray());
100
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Header::__construct
20
+	 */
21
+	public function testConstructorType(): void
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Header($this->parent, 'integer');
24
+
25
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
26
+
27
+		$this->assertSame(array(
28
+			'type' => 'integer',
29
+		), $object->toArray());
30
+	}
31
+
32
+	/**
33
+	 * @covers \SwaggerGen\Swagger\Header::__construct
34
+	 */
35
+	public function testConstructorInvalidType()
36
+	{
37
+		$this->expectException('\SwaggerGen\Exception', "Header type not valid: 'BadType'");
38
+
39
+		new \SwaggerGen\Swagger\Header($this->parent, 'BadType');
40
+	}
41
+
42
+	/**
43
+	 * @covers \SwaggerGen\Swagger\Header::__construct
44
+	 */
45
+	public function testConstructorNoDescription()
46
+	{
47
+		$object = new \SwaggerGen\Swagger\Header($this->parent, 'integer');
48
+
49
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
50
+
51
+		$this->assertSame(array(
52
+			'type' => 'integer',
53
+		), $object->toArray());
54
+	}
55
+
56
+	/**
57
+	 * @covers \SwaggerGen\Swagger\Header::__construct
58
+	 */
59
+	public function testConstructorBlankDescription()
60
+	{
61
+		$object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', '');
62
+
63
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
64
+
65
+		$this->assertSame(array(
66
+			'type' => 'integer',
67
+		), $object->toArray());
68
+	}
69
+
70
+	/**
71
+	 * @covers \SwaggerGen\Swagger\Header::__construct
72
+	 */
73
+	public function testConstructorFull()
74
+	{
75
+		$object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', 'descriptive text');
76
+
77
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
78
+
79
+		$this->assertSame(array(
80
+			'type' => 'integer',
81
+			'description' => 'descriptive text',
82
+		), $object->toArray());
83
+	}
84
+
85
+	/**
86
+	 * @covers \SwaggerGen\Swagger\Header->handleCommand
87
+	 */
88
+	public function testCommandDescription()
89
+	{
90
+		$object = new \SwaggerGen\Swagger\Header($this->parent, 'integer', 'descriptive text');
91
+
92
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Header', $object);
93
+
94
+		$object->handleCommand('description', 'Some other lines');
95
+
96
+		$this->assertSame(array(
97
+			'type' => 'integer',
98
+			'description' => 'Some other lines',
99
+		), $object->toArray());
100
+	}
101 101
 }
Please login to merge, or discard this patch.
tests/Swagger/ErrorTest.php 1 patch
Indentation   +76 added lines, -76 removed lines patch added patch discarded remove patch
@@ -3,81 +3,81 @@
 block discarded – undo
3 3
 class ErrorTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Error::__construct
20
-     */
21
-    public function testConstructor_200(): void
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Error($this->parent, 200);
24
-
25
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
26
-
27
-        $this->assertSame(array(
28
-            'description' => 'OK',
29
-        ), $object->toArray());
30
-    }
31
-
32
-    /**
33
-     * @covers \SwaggerGen\Swagger\Error::__construct
34
-     */
35
-    public function testConstructor_404(): void
36
-    {
37
-        $object = new \SwaggerGen\Swagger\Error($this->parent, 404);
38
-
39
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
40
-
41
-        $this->assertSame(array(
42
-            'description' => 'Not Found',
43
-        ), $object->toArray());
44
-    }
45
-
46
-    /**
47
-     * @covers \SwaggerGen\Swagger\Error::__construct
48
-     */
49
-    public function testConstructor_Description(): void
50
-    {
51
-        $object = new \SwaggerGen\Swagger\Error($this->parent, '200', 'Fine And Dandy');
52
-
53
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
54
-
55
-        $this->assertSame(array(
56
-            'description' => 'Fine And Dandy',
57
-        ), $object->toArray());
58
-    }
59
-
60
-    /**
61
-     * Just checks that the `header` command is inherited. Actual tests for
62
-     * this command are in `ResponseTest`
63
-     * @covers \SwaggerGen\Swagger\Type\Error->handleCommand
64
-     */
65
-    public function testHandleCommand_Header(): void
66
-    {
67
-        $object = new \SwaggerGen\Swagger\Error($this->parent, 200);
68
-
69
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
70
-
71
-        $object->handleCommand('header', 'integer bar');
72
-
73
-        $this->assertSame(array(
74
-            'description' => 'OK',
75
-            'headers' => array(
76
-                'bar' => array(
77
-                    'type' => 'integer',
78
-                ),
79
-            ),
80
-        ), $object->toArray());
81
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Error::__construct
20
+	 */
21
+	public function testConstructor_200(): void
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Error($this->parent, 200);
24
+
25
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
26
+
27
+		$this->assertSame(array(
28
+			'description' => 'OK',
29
+		), $object->toArray());
30
+	}
31
+
32
+	/**
33
+	 * @covers \SwaggerGen\Swagger\Error::__construct
34
+	 */
35
+	public function testConstructor_404(): void
36
+	{
37
+		$object = new \SwaggerGen\Swagger\Error($this->parent, 404);
38
+
39
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
40
+
41
+		$this->assertSame(array(
42
+			'description' => 'Not Found',
43
+		), $object->toArray());
44
+	}
45
+
46
+	/**
47
+	 * @covers \SwaggerGen\Swagger\Error::__construct
48
+	 */
49
+	public function testConstructor_Description(): void
50
+	{
51
+		$object = new \SwaggerGen\Swagger\Error($this->parent, '200', 'Fine And Dandy');
52
+
53
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
54
+
55
+		$this->assertSame(array(
56
+			'description' => 'Fine And Dandy',
57
+		), $object->toArray());
58
+	}
59
+
60
+	/**
61
+	 * Just checks that the `header` command is inherited. Actual tests for
62
+	 * this command are in `ResponseTest`
63
+	 * @covers \SwaggerGen\Swagger\Type\Error->handleCommand
64
+	 */
65
+	public function testHandleCommand_Header(): void
66
+	{
67
+		$object = new \SwaggerGen\Swagger\Error($this->parent, 200);
68
+
69
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Error', $object);
70
+
71
+		$object->handleCommand('header', 'integer bar');
72
+
73
+		$this->assertSame(array(
74
+			'description' => 'OK',
75
+			'headers' => array(
76
+				'bar' => array(
77
+					'type' => 'integer',
78
+				),
79
+			),
80
+		), $object->toArray());
81
+	}
82 82
 
83 83
 }
Please login to merge, or discard this patch.
tests/Swagger/PathTest.php 1 patch
Indentation   +227 added lines, -227 removed lines patch added patch discarded remove patch
@@ -3,232 +3,232 @@
 block discarded – undo
3 3
 class PathTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Path::__construct
20
-     */
21
-    public function testConstructor_Empty()
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Path($this->parent);
24
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
25
-
26
-        $this->assertSame(array(), $object->toArray());
27
-    }
28
-
29
-    /**
30
-     * @covers \SwaggerGen\Swagger\Path::__construct
31
-     */
32
-    public function testConstructor_Tag()
33
-    {
34
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
35
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
36
-
37
-        $this->assertSame(array(), $object->toArray());
38
-    }
39
-
40
-    /**
41
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
42
-     */
43
-    public function testHandleCommand_Method_Empty()
44
-    {
45
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
46
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
47
-
48
-        $this->expectException('\SwaggerGen\Exception', "Unrecognized operation method ''");
49
-        $return = $object->handleCommand('method');
50
-    }
51
-
52
-    /**
53
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
54
-     */
55
-    public function testHandleCommand_Method_Unknown()
56
-    {
57
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
58
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
59
-
60
-        $this->expectException('\SwaggerGen\Exception', "Unrecognized operation method 'foo'");
61
-        $return = $object->handleCommand('method', 'foo');
62
-    }
63
-
64
-    /**
65
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
66
-     */
67
-    public function testHandleCommand_Method_Get()
68
-    {
69
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
70
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
71
-
72
-        $operation = $object->handleCommand('method', 'get');
73
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
74
-        $operation->handleCommand('response', 200);
75
-
76
-        $this->assertSame(array(
77
-            'get' => array(
78
-                'tags' => array(
79
-                    'Tag',
80
-                ),
81
-                'responses' => array(
82
-                    200 => array(
83
-                        'description' => 'OK',
84
-                    ),
85
-                ),
86
-            ),
87
-        ), $object->toArray());
88
-    }
89
-
90
-    /**
91
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
92
-     */
93
-    public function testHandleCommand_Method_Description()
94
-    {
95
-        $this->markTestIncomplete('This test has not been implemented yet.');
96
-    }
97
-
98
-    /**
99
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
100
-     */
101
-    public function testHandleCommand_Operation_Get()
102
-    {
103
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
104
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
105
-
106
-        $operation = $object->handleCommand('operation', 'get');
107
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
108
-        $operation->handleCommand('response', 200);
109
-
110
-        $this->assertSame(array(
111
-            'get' => array(
112
-                'tags' => array(
113
-                    'Tag',
114
-                ),
115
-                'responses' => array(
116
-                    200 => array(
117
-                        'description' => 'OK',
118
-                    ),
119
-                ),
120
-            ),
121
-        ), $object->toArray());
122
-    }
123
-
124
-    /**
125
-     * @covers \SwaggerGen\Swagger\Path::handleCommand
126
-     */
127
-    public function testHandleCommand_MethodOrdering()
128
-    {
129
-        $object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
130
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
131
-
132
-        $operation = $object->handleCommand('method', 'post');
133
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
134
-        $operation->handleCommand('response', 200);
135
-
136
-        $operation = $object->handleCommand('method', 'delete');
137
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
138
-        $operation->handleCommand('response', 200);
139
-
140
-        $operation = $object->handleCommand('method', 'patch');
141
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
142
-        $operation->handleCommand('response', 200);
143
-
144
-        $operation = $object->handleCommand('method', 'put');
145
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
146
-        $operation->handleCommand('response', 200);
147
-
148
-        $operation = $object->handleCommand('method', 'head');
149
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
150
-        $operation->handleCommand('response', 200);
151
-
152
-        $operation = $object->handleCommand('method', 'get');
153
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
154
-        $operation->handleCommand('response', 200);
155
-
156
-        $operation = $object->handleCommand('method', 'options');
157
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
158
-        $operation->handleCommand('response', 200);
159
-
160
-        $this->assertSame(array(
161
-            'get' => array(
162
-                'tags' => array(
163
-                    'Tag',
164
-                ),
165
-                'responses' => array(
166
-                    200 => array(
167
-                        'description' => 'OK',
168
-                    ),
169
-                ),
170
-            ),
171
-            'put' => array(
172
-                'tags' => array(
173
-                    'Tag',
174
-                ),
175
-                'responses' => array(
176
-                    200 => array(
177
-                        'description' => 'OK',
178
-                    ),
179
-                ),
180
-            ),
181
-            'post' => array(
182
-                'tags' => array(
183
-                    'Tag',
184
-                ),
185
-                'responses' => array(
186
-                    200 => array(
187
-                        'description' => 'OK',
188
-                    ),
189
-                ),
190
-            ),
191
-            'delete' => array(
192
-                'tags' => array(
193
-                    'Tag',
194
-                ),
195
-                'responses' => array(
196
-                    200 => array(
197
-                        'description' => 'OK',
198
-                    ),
199
-                ),
200
-            ),
201
-            'options' => array(
202
-                'tags' => array(
203
-                    'Tag',
204
-                ),
205
-                'responses' => array(
206
-                    200 => array(
207
-                        'description' => 'OK',
208
-                    ),
209
-                ),
210
-            ),
211
-            'head' => array(
212
-                'tags' => array(
213
-                    'Tag',
214
-                ),
215
-                'responses' => array(
216
-                    200 => array(
217
-                        'description' => 'OK',
218
-                    ),
219
-                ),
220
-            ),
221
-            'patch' => array(
222
-                'tags' => array(
223
-                    'Tag',
224
-                ),
225
-                'responses' => array(
226
-                    200 => array(
227
-                        'description' => 'OK',
228
-                    ),
229
-                ),
230
-            ),
231
-        ), $object->toArray());
232
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Path::__construct
20
+	 */
21
+	public function testConstructor_Empty()
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Path($this->parent);
24
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
25
+
26
+		$this->assertSame(array(), $object->toArray());
27
+	}
28
+
29
+	/**
30
+	 * @covers \SwaggerGen\Swagger\Path::__construct
31
+	 */
32
+	public function testConstructor_Tag()
33
+	{
34
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
35
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
36
+
37
+		$this->assertSame(array(), $object->toArray());
38
+	}
39
+
40
+	/**
41
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
42
+	 */
43
+	public function testHandleCommand_Method_Empty()
44
+	{
45
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
46
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
47
+
48
+		$this->expectException('\SwaggerGen\Exception', "Unrecognized operation method ''");
49
+		$return = $object->handleCommand('method');
50
+	}
51
+
52
+	/**
53
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
54
+	 */
55
+	public function testHandleCommand_Method_Unknown()
56
+	{
57
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
58
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
59
+
60
+		$this->expectException('\SwaggerGen\Exception', "Unrecognized operation method 'foo'");
61
+		$return = $object->handleCommand('method', 'foo');
62
+	}
63
+
64
+	/**
65
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
66
+	 */
67
+	public function testHandleCommand_Method_Get()
68
+	{
69
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
70
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
71
+
72
+		$operation = $object->handleCommand('method', 'get');
73
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
74
+		$operation->handleCommand('response', 200);
75
+
76
+		$this->assertSame(array(
77
+			'get' => array(
78
+				'tags' => array(
79
+					'Tag',
80
+				),
81
+				'responses' => array(
82
+					200 => array(
83
+						'description' => 'OK',
84
+					),
85
+				),
86
+			),
87
+		), $object->toArray());
88
+	}
89
+
90
+	/**
91
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
92
+	 */
93
+	public function testHandleCommand_Method_Description()
94
+	{
95
+		$this->markTestIncomplete('This test has not been implemented yet.');
96
+	}
97
+
98
+	/**
99
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
100
+	 */
101
+	public function testHandleCommand_Operation_Get()
102
+	{
103
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
104
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
105
+
106
+		$operation = $object->handleCommand('operation', 'get');
107
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
108
+		$operation->handleCommand('response', 200);
109
+
110
+		$this->assertSame(array(
111
+			'get' => array(
112
+				'tags' => array(
113
+					'Tag',
114
+				),
115
+				'responses' => array(
116
+					200 => array(
117
+						'description' => 'OK',
118
+					),
119
+				),
120
+			),
121
+		), $object->toArray());
122
+	}
123
+
124
+	/**
125
+	 * @covers \SwaggerGen\Swagger\Path::handleCommand
126
+	 */
127
+	public function testHandleCommand_MethodOrdering()
128
+	{
129
+		$object = new \SwaggerGen\Swagger\Path($this->parent, new SwaggerGen\Swagger\Tag($this->parent, 'Tag'));
130
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $object);
131
+
132
+		$operation = $object->handleCommand('method', 'post');
133
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
134
+		$operation->handleCommand('response', 200);
135
+
136
+		$operation = $object->handleCommand('method', 'delete');
137
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
138
+		$operation->handleCommand('response', 200);
139
+
140
+		$operation = $object->handleCommand('method', 'patch');
141
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
142
+		$operation->handleCommand('response', 200);
143
+
144
+		$operation = $object->handleCommand('method', 'put');
145
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
146
+		$operation->handleCommand('response', 200);
147
+
148
+		$operation = $object->handleCommand('method', 'head');
149
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
150
+		$operation->handleCommand('response', 200);
151
+
152
+		$operation = $object->handleCommand('method', 'get');
153
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
154
+		$operation->handleCommand('response', 200);
155
+
156
+		$operation = $object->handleCommand('method', 'options');
157
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
158
+		$operation->handleCommand('response', 200);
159
+
160
+		$this->assertSame(array(
161
+			'get' => array(
162
+				'tags' => array(
163
+					'Tag',
164
+				),
165
+				'responses' => array(
166
+					200 => array(
167
+						'description' => 'OK',
168
+					),
169
+				),
170
+			),
171
+			'put' => array(
172
+				'tags' => array(
173
+					'Tag',
174
+				),
175
+				'responses' => array(
176
+					200 => array(
177
+						'description' => 'OK',
178
+					),
179
+				),
180
+			),
181
+			'post' => array(
182
+				'tags' => array(
183
+					'Tag',
184
+				),
185
+				'responses' => array(
186
+					200 => array(
187
+						'description' => 'OK',
188
+					),
189
+				),
190
+			),
191
+			'delete' => array(
192
+				'tags' => array(
193
+					'Tag',
194
+				),
195
+				'responses' => array(
196
+					200 => array(
197
+						'description' => 'OK',
198
+					),
199
+				),
200
+			),
201
+			'options' => array(
202
+				'tags' => array(
203
+					'Tag',
204
+				),
205
+				'responses' => array(
206
+					200 => array(
207
+						'description' => 'OK',
208
+					),
209
+				),
210
+			),
211
+			'head' => array(
212
+				'tags' => array(
213
+					'Tag',
214
+				),
215
+				'responses' => array(
216
+					200 => array(
217
+						'description' => 'OK',
218
+					),
219
+				),
220
+			),
221
+			'patch' => array(
222
+				'tags' => array(
223
+					'Tag',
224
+				),
225
+				'responses' => array(
226
+					200 => array(
227
+						'description' => 'OK',
228
+					),
229
+				),
230
+			),
231
+		), $object->toArray());
232
+	}
233 233
 
234 234
 }
Please login to merge, or discard this patch.
tests/Swagger/SchemaTest.php 1 patch
Indentation   +133 added lines, -133 removed lines patch added patch discarded remove patch
@@ -3,138 +3,138 @@
 block discarded – undo
3 3
 class SchemaTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\Swagger');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Schema::__construct
20
-     */
21
-    public function testConstructorEmpty()
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Schema($this->parent);
24
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
25
-
26
-        $this->assertSame(array(
27
-            'type' => 'object',
28
-        ), $object->toArray());
29
-    }
30
-
31
-    /**
32
-     * @covers \SwaggerGen\Swagger\Schema::__construct
33
-     */
34
-    public function testConstructorType()
35
-    {
36
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
37
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
38
-
39
-        $this->assertSame(array(
40
-            'type' => 'integer',
41
-            'format' => 'int32',
42
-        ), $object->toArray());
43
-    }
44
-
45
-    /**
46
-     * @covers \SwaggerGen\Swagger\Schema::__construct
47
-     */
48
-    public function testConstructorReference()
49
-    {
50
-        $this->parent->handleCommand('model', 'User');
51
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'User');
52
-
53
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
54
-
55
-        $this->assertSame(array(
56
-            '$ref' => '#/definitions/User',
57
-        ), $object->toArray());
58
-    }
59
-
60
-    /**
61
-     * @covers \SwaggerGen\Swagger\Schema::__construct
62
-     */
63
-    public function testConstructorEmptyDescription()
64
-    {
65
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int', '');
66
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
67
-
68
-        $this->assertSame(array(
69
-            'type' => 'integer',
70
-            'format' => 'int32',
71
-        ), $object->toArray());
72
-    }
73
-
74
-    /**
75
-     * @covers \SwaggerGen\Swagger\Schema::__construct
76
-     */
77
-    public function testConstructorDescription()
78
-    {
79
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int', 'Some more words');
80
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
81
-
82
-        $this->assertSame(array(
83
-            'type' => 'integer',
84
-            'format' => 'int32',
85
-            'description' => 'Some more words',
86
-        ), $object->toArray());
87
-    }
88
-
89
-    /**
90
-     * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
91
-     */
92
-    public function testCommandPassing()
93
-    {
94
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
95
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
96
-
97
-        $object->handleCommand('default', '123');
98
-
99
-        $this->assertSame(array(
100
-            'type' => 'integer',
101
-            'format' => 'int32',
102
-            'default' => 123,
103
-        ), $object->toArray());
104
-    }
105
-
106
-    /**
107
-     * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
108
-     */
109
-    public function testCommand_Description()
110
-    {
111
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
112
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
113
-
114
-        $object->handleCommand('description', 'Some words');
115
-
116
-        $this->assertSame(array(
117
-            'type' => 'integer',
118
-            'format' => 'int32',
119
-            'description' => 'Some words',
120
-        ), $object->toArray());
121
-    }
122
-
123
-    /**
124
-     * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
125
-     */
126
-    public function testCommand_Title()
127
-    {
128
-        $object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
129
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
130
-
131
-        $object->handleCommand('title', 'Title words');
132
-
133
-        $this->assertSame(array(
134
-            'type' => 'integer',
135
-            'format' => 'int32',
136
-            'title' => 'Title words',
137
-        ), $object->toArray());
138
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\Swagger');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Schema::__construct
20
+	 */
21
+	public function testConstructorEmpty()
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Schema($this->parent);
24
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
25
+
26
+		$this->assertSame(array(
27
+			'type' => 'object',
28
+		), $object->toArray());
29
+	}
30
+
31
+	/**
32
+	 * @covers \SwaggerGen\Swagger\Schema::__construct
33
+	 */
34
+	public function testConstructorType()
35
+	{
36
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
37
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
38
+
39
+		$this->assertSame(array(
40
+			'type' => 'integer',
41
+			'format' => 'int32',
42
+		), $object->toArray());
43
+	}
44
+
45
+	/**
46
+	 * @covers \SwaggerGen\Swagger\Schema::__construct
47
+	 */
48
+	public function testConstructorReference()
49
+	{
50
+		$this->parent->handleCommand('model', 'User');
51
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'User');
52
+
53
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
54
+
55
+		$this->assertSame(array(
56
+			'$ref' => '#/definitions/User',
57
+		), $object->toArray());
58
+	}
59
+
60
+	/**
61
+	 * @covers \SwaggerGen\Swagger\Schema::__construct
62
+	 */
63
+	public function testConstructorEmptyDescription()
64
+	{
65
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int', '');
66
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
67
+
68
+		$this->assertSame(array(
69
+			'type' => 'integer',
70
+			'format' => 'int32',
71
+		), $object->toArray());
72
+	}
73
+
74
+	/**
75
+	 * @covers \SwaggerGen\Swagger\Schema::__construct
76
+	 */
77
+	public function testConstructorDescription()
78
+	{
79
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int', 'Some more words');
80
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
81
+
82
+		$this->assertSame(array(
83
+			'type' => 'integer',
84
+			'format' => 'int32',
85
+			'description' => 'Some more words',
86
+		), $object->toArray());
87
+	}
88
+
89
+	/**
90
+	 * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
91
+	 */
92
+	public function testCommandPassing()
93
+	{
94
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
95
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
96
+
97
+		$object->handleCommand('default', '123');
98
+
99
+		$this->assertSame(array(
100
+			'type' => 'integer',
101
+			'format' => 'int32',
102
+			'default' => 123,
103
+		), $object->toArray());
104
+	}
105
+
106
+	/**
107
+	 * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
108
+	 */
109
+	public function testCommand_Description()
110
+	{
111
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
112
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
113
+
114
+		$object->handleCommand('description', 'Some words');
115
+
116
+		$this->assertSame(array(
117
+			'type' => 'integer',
118
+			'format' => 'int32',
119
+			'description' => 'Some words',
120
+		), $object->toArray());
121
+	}
122
+
123
+	/**
124
+	 * @covers \SwaggerGen\Swagger\Type\Schema->handleCommand
125
+	 */
126
+	public function testCommand_Title()
127
+	{
128
+		$object = new \SwaggerGen\Swagger\Schema($this->parent, 'int');
129
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $object);
130
+
131
+		$object->handleCommand('title', 'Title words');
132
+
133
+		$this->assertSame(array(
134
+			'type' => 'integer',
135
+			'format' => 'int32',
136
+			'title' => 'Title words',
137
+		), $object->toArray());
138
+	}
139 139
 
140 140
 }
Please login to merge, or discard this patch.
tests/Swagger/TagTest.php 1 patch
Indentation   +103 added lines, -103 removed lines patch added patch discarded remove patch
@@ -3,108 +3,108 @@
 block discarded – undo
3 3
 class TagTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Tag::__construct
20
-     * @covers \SwaggerGen\Swagger\License::toArray
21
-     */
22
-    public function testConstructor2()
23
-    {
24
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
25
-
26
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
27
-
28
-        $this->assertSame(array(
29
-            'name' => 'Name',
30
-        ), $object->toArray());
31
-    }
32
-
33
-    /**
34
-     * @covers \SwaggerGen\Swagger\Tag::__construct
35
-     * @covers \SwaggerGen\Swagger\License::toArray
36
-     */
37
-    public function testConstructor_Description_Empty()
38
-    {
39
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', '');
40
-
41
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
42
-
43
-        $this->assertSame(array(
44
-            'name' => 'Name',
45
-        ), $object->toArray());
46
-    }
47
-
48
-    /**
49
-     * @covers \SwaggerGen\Swagger\Tag::__construct
50
-     * @covers \SwaggerGen\Swagger\License::toArray
51
-     */
52
-    public function testConstructor3()
53
-    {
54
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', 'Description');
55
-
56
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
57
-
58
-        $this->assertSame(array(
59
-            'name' => 'Name',
60
-            'description' => 'Description',
61
-        ), $object->toArray());
62
-    }
63
-
64
-    /**
65
-     * @covers \SwaggerGen\Swagger\Tag::getName
66
-     */
67
-    public function testGetName()
68
-    {
69
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
70
-
71
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
72
-
73
-        $this->assertSame('Name', $object->getName());
74
-    }
75
-
76
-    /**
77
-     * @covers \SwaggerGen\Swagger\Tag::handleCommand
78
-     */
79
-    public function testCommandDescription()
80
-    {
81
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
82
-
83
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
84
-
85
-        $object->handleCommand('description', 'Command Description');
86
-
87
-        $this->assertSame(array(
88
-            'name' => 'Name',
89
-            'description' => 'Command Description',
90
-        ), $object->toArray());
91
-    }
92
-
93
-    /**
94
-     * @covers \SwaggerGen\Swagger\Tag::handleCommand
95
-     */
96
-    public function testCommandDescriptionOverwrite()
97
-    {
98
-        $object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', 'Description');
99
-
100
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
101
-
102
-        $object->handleCommand('description', 'Command Description');
103
-
104
-        $this->assertSame(array(
105
-            'name' => 'Name',
106
-            'description' => 'Command Description',
107
-        ), $object->toArray());
108
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Tag::__construct
20
+	 * @covers \SwaggerGen\Swagger\License::toArray
21
+	 */
22
+	public function testConstructor2()
23
+	{
24
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
25
+
26
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
27
+
28
+		$this->assertSame(array(
29
+			'name' => 'Name',
30
+		), $object->toArray());
31
+	}
32
+
33
+	/**
34
+	 * @covers \SwaggerGen\Swagger\Tag::__construct
35
+	 * @covers \SwaggerGen\Swagger\License::toArray
36
+	 */
37
+	public function testConstructor_Description_Empty()
38
+	{
39
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', '');
40
+
41
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
42
+
43
+		$this->assertSame(array(
44
+			'name' => 'Name',
45
+		), $object->toArray());
46
+	}
47
+
48
+	/**
49
+	 * @covers \SwaggerGen\Swagger\Tag::__construct
50
+	 * @covers \SwaggerGen\Swagger\License::toArray
51
+	 */
52
+	public function testConstructor3()
53
+	{
54
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', 'Description');
55
+
56
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
57
+
58
+		$this->assertSame(array(
59
+			'name' => 'Name',
60
+			'description' => 'Description',
61
+		), $object->toArray());
62
+	}
63
+
64
+	/**
65
+	 * @covers \SwaggerGen\Swagger\Tag::getName
66
+	 */
67
+	public function testGetName()
68
+	{
69
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
70
+
71
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
72
+
73
+		$this->assertSame('Name', $object->getName());
74
+	}
75
+
76
+	/**
77
+	 * @covers \SwaggerGen\Swagger\Tag::handleCommand
78
+	 */
79
+	public function testCommandDescription()
80
+	{
81
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name');
82
+
83
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
84
+
85
+		$object->handleCommand('description', 'Command Description');
86
+
87
+		$this->assertSame(array(
88
+			'name' => 'Name',
89
+			'description' => 'Command Description',
90
+		), $object->toArray());
91
+	}
92
+
93
+	/**
94
+	 * @covers \SwaggerGen\Swagger\Tag::handleCommand
95
+	 */
96
+	public function testCommandDescriptionOverwrite()
97
+	{
98
+		$object = new \SwaggerGen\Swagger\Tag($this->parent, 'Name', 'Description');
99
+
100
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $object);
101
+
102
+		$object->handleCommand('description', 'Command Description');
103
+
104
+		$this->assertSame(array(
105
+			'name' => 'Name',
106
+			'description' => 'Command Description',
107
+		), $object->toArray());
108
+	}
109 109
 
110 110
 }
Please login to merge, or discard this patch.
tests/Swagger/SwaggerTest.php 1 patch
Indentation   +1043 added lines, -1043 removed lines patch added patch discarded remove patch
@@ -3,1048 +3,1048 @@
 block discarded – undo
3 3
 class SwaggerTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    /**
7
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
8
-     */
9
-    public function testConstructor_Empty()
10
-    {
11
-        $object = new \SwaggerGen\Swagger\Swagger();
12
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
13
-
14
-        $this->expectException('\SwaggerGen\Exception', "No path defined");
15
-        $object->toArray();
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
20
-     */
21
-    public function testConstructor_Empty_WithEndPoint()
22
-    {
23
-        $object = new \SwaggerGen\Swagger\Swagger();
24
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
25
-
26
-        $path = $object->handleCommand('endpoint');
27
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
28
-
29
-        $this->assertSame(array(
30
-            'swagger' => '2.0',
31
-            'info' => array(
32
-                'title' => 'undefined',
33
-                'version' => '0',
34
-            ),
35
-            'paths' => array(
36
-                '/' => array(),
37
-            )
38
-        ), $object->toArray());
39
-    }
40
-
41
-    /**
42
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
43
-     */
44
-    public function testConstructor_Empty_Host()
45
-    {
46
-        $object = new \SwaggerGen\Swagger\Swagger('http://localhost');
47
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
48
-
49
-        $path = $object->handleCommand('endpoint');
50
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
51
-
52
-        $this->assertSame(array(
53
-            'swagger' => '2.0',
54
-            'info' => array(
55
-                'title' => 'undefined',
56
-                'version' => '0',
57
-            ),
58
-            'host' => 'http://localhost',
59
-            'paths' => array(
60
-                '/' => array(),
61
-            )
62
-        ), $object->toArray());
63
-    }
64
-
65
-    /**
66
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
67
-     */
68
-    public function testConstructor_Empty_HostBasepath()
69
-    {
70
-        $object = new \SwaggerGen\Swagger\Swagger('http://localhost', 'api');
71
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
72
-
73
-        $path = $object->handleCommand('endpoint');
74
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
75
-
76
-        $this->assertSame(array(
77
-            'swagger' => '2.0',
78
-            'info' => array(
79
-                'title' => 'undefined',
80
-                'version' => '0',
81
-            ),
82
-            'host' => 'http://localhost',
83
-            'basePath' => 'api',
84
-            'paths' => array(
85
-                '/' => array(),
86
-            )
87
-        ), $object->toArray());
88
-    }
89
-
90
-    /**
91
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
92
-     */
93
-    public function testHandleCommand_Info_Pass()
94
-    {
95
-        $object = new \SwaggerGen\Swagger\Swagger('http://localhost', 'api');
96
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
97
-
98
-        $path = $object->handleCommand('endpoint');
99
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
100
-
101
-        $object->handleCommand('title', 'This is the title');
102
-        $object->handleCommand('description', 'This is the description');
103
-        $object->handleCommand('license', 'BSD');
104
-        $object->handleCommand('terms', 'These are the terms');
105
-        $object->handleCommand('version', '1.2.3a');
106
-        $object->handleCommand('title', 'This is the title');
107
-        $object->handleCommand('contact', 'Arthur D. Author http://example.test [email protected]');
108
-
109
-        $this->assertSame(array(
110
-            'swagger' => '2.0',
111
-            'info' => array('title' => 'This is the title',
112
-                'description' => 'This is the description',
113
-                'termsOfService' => 'These are the terms',
114
-                'contact' => array(
115
-                    'name' => 'Arthur D. Author',
116
-                    'url' => 'http://example.test',
117
-                    'email' => '[email protected]',
118
-                ),
119
-                'license' => array(
120
-                    'name' => 'BSD',
121
-                    'url' => 'https://opensource.org/licenses/BSD-2-Clause',
122
-                ),
123
-                'version' => '1.2.3a',
124
-            ),
125
-            'host' => 'http://localhost',
126
-            'basePath' => 'api',
127
-            'paths' => array(
128
-                '/' => array(),
129
-            )
130
-        ), $object->toArray());
131
-    }
132
-
133
-    /**
134
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
135
-     */
136
-    public function testHandleCommand_Schemes_Empty()
137
-    {
138
-        $object = new \SwaggerGen\Swagger\Swagger();
139
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
140
-
141
-        $return = $object->handleCommand('schemes');
142
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
143
-
144
-        $path = $object->handleCommand('endpoint');
145
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
146
-
147
-        $this->assertSame(array(
148
-            'swagger' => '2.0',
149
-            'info' => array(
150
-                'title' => 'undefined',
151
-                'version' => '0',
152
-            ),
153
-            'paths' => array(
154
-                '/' => array(),
155
-            ),
156
-        ), $object->toArray());
157
-    }
158
-
159
-    /**
160
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
161
-     */
162
-    public function testHandleCommand_Schemes()
163
-    {
164
-        $object = new \SwaggerGen\Swagger\Swagger();
165
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
166
-
167
-        $return = $object->handleCommand('schemes', 'http https');
168
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
169
-
170
-        $path = $object->handleCommand('endpoint');
171
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
172
-
173
-        $this->assertSame(array(
174
-            'swagger' => '2.0',
175
-            'info' => array(
176
-                'title' => 'undefined',
177
-                'version' => '0',
178
-            ),
179
-            'schemes' => array(
180
-                'http',
181
-                'https',
182
-            ),
183
-            'paths' => array(
184
-                '/' => array(),
185
-            ),
186
-        ), $object->toArray());
187
-    }
188
-
189
-    /**
190
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
191
-     */
192
-    public function testHandleCommand_Schemes_Append()
193
-    {
194
-        $object = new \SwaggerGen\Swagger\Swagger();
195
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
196
-
197
-        $return = $object->handleCommand('schemes', 'ws wss');
198
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
199
-
200
-        $return = $object->handleCommand('schemes', 'http ws');
201
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
202
-
203
-        $path = $object->handleCommand('endpoint');
204
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
205
-
206
-        $this->assertSame(array(
207
-            'swagger' => '2.0',
208
-            'info' => array(
209
-                'title' => 'undefined',
210
-                'version' => '0',
211
-            ),
212
-            'schemes' => array(
213
-                'http',
214
-                'ws',
215
-                'wss',
216
-            ),
217
-            'paths' => array(
218
-                '/' => array(),
219
-            ),
220
-        ), $object->toArray());
221
-    }
222
-
223
-    /**
224
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
225
-     */
226
-    public function testHandleCommand_Consumes_Empty()
227
-    {
228
-        $object = new \SwaggerGen\Swagger\Swagger();
229
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
230
-
231
-        $return = $object->handleCommand('consumes');
232
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
233
-
234
-        $path = $object->handleCommand('endpoint');
235
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
236
-
237
-        $this->assertSame(array(
238
-            'swagger' => '2.0',
239
-            'info' => array(
240
-                'title' => 'undefined',
241
-                'version' => '0',
242
-            ),
243
-            'paths' => array(
244
-                '/' => array(),
245
-            ),
246
-        ), $object->toArray());
247
-    }
248
-
249
-    /**
250
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
251
-     */
252
-    public function testHandleCommand_Consumes()
253
-    {
254
-        $object = new \SwaggerGen\Swagger\Swagger();
255
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
256
-
257
-        $return = $object->handleCommand('consumes', 'image/png text');
258
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
259
-
260
-        $path = $object->handleCommand('endpoint');
261
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
262
-
263
-        $this->assertSame(array(
264
-            'swagger' => '2.0',
265
-            'info' => array(
266
-                'title' => 'undefined',
267
-                'version' => '0',
268
-            ),
269
-            'consumes' => array(
270
-                'image/png',
271
-                'text/plain',
272
-            ),
273
-            'paths' => array(
274
-                '/' => array(),
275
-            ),
276
-        ), $object->toArray());
277
-    }
278
-
279
-    /**
280
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
281
-     */
282
-    public function testHandleCommand_Consumes_Append()
283
-    {
284
-        $object = new \SwaggerGen\Swagger\Swagger();
285
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
286
-
287
-        $return = $object->handleCommand('consumes', 'image/png text');
288
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
289
-
290
-        $return = $object->handleCommand('consumes', 'text json');
291
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
292
-
293
-        $path = $object->handleCommand('endpoint');
294
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
295
-
296
-        $this->assertSame(array(
297
-            'swagger' => '2.0',
298
-            'info' => array(
299
-                'title' => 'undefined',
300
-                'version' => '0',
301
-            ),
302
-            'consumes' => array(
303
-                'application/json',
304
-                'image/png',
305
-                'text/plain',
306
-            ),
307
-            'paths' => array(
308
-                '/' => array(),
309
-            ),
310
-        ), $object->toArray());
311
-    }
312
-
313
-    /**
314
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
315
-     */
316
-    public function testHandleCommand_Produces_Empty()
317
-    {
318
-        $object = new \SwaggerGen\Swagger\Swagger();
319
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
320
-
321
-        $return = $object->handleCommand('produces');
322
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
323
-
324
-        $path = $object->handleCommand('endpoint');
325
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
326
-
327
-        $this->assertSame(array(
328
-            'swagger' => '2.0',
329
-            'info' => array(
330
-                'title' => 'undefined',
331
-                'version' => '0',
332
-            ),
333
-            'paths' => array(
334
-                '/' => array(),
335
-            ),
336
-        ), $object->toArray());
337
-    }
338
-
339
-    /**
340
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
341
-     */
342
-    public function testHandleCommand_Produces()
343
-    {
344
-        $object = new \SwaggerGen\Swagger\Swagger();
345
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
346
-
347
-        $return = $object->handleCommand('produces', 'image/png text');
348
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
349
-
350
-        $path = $object->handleCommand('endpoint');
351
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
352
-
353
-        $this->assertSame(array(
354
-            'swagger' => '2.0',
355
-            'info' => array(
356
-                'title' => 'undefined',
357
-                'version' => '0',
358
-            ),
359
-            'produces' => array(
360
-                'image/png',
361
-                'text/plain',
362
-            ),
363
-            'paths' => array(
364
-                '/' => array(),
365
-            ),
366
-        ), $object->toArray());
367
-    }
368
-
369
-    /**
370
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
371
-     */
372
-    public function testHandleCommand_Produces_Append()
373
-    {
374
-        $object = new \SwaggerGen\Swagger\Swagger();
375
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
376
-
377
-        $return = $object->handleCommand('produces', 'image/png text');
378
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
379
-
380
-        $return = $object->handleCommand('produces', 'text json');
381
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
382
-
383
-        $path = $object->handleCommand('endpoint');
384
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
385
-
386
-        $this->assertSame(array(
387
-            'swagger' => '2.0',
388
-            'info' => array(
389
-                'title' => 'undefined',
390
-                'version' => '0',
391
-            ),
392
-            'produces' => array(
393
-                'application/json',
394
-                'image/png',
395
-                'text/plain',
396
-            ),
397
-            'paths' => array(
398
-                '/' => array(),
399
-            ),
400
-        ), $object->toArray());
401
-    }
402
-
403
-    /**
404
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
405
-     */
406
-    public function testHandleCommand_Tag_Empty()
407
-    {
408
-        $object = new \SwaggerGen\Swagger\Swagger();
409
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
410
-
411
-        $this->expectException('\SwaggerGen\Exception', "Missing tag name");
412
-        $object->handleCommand('tag');
413
-    }
414
-
415
-    /**
416
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
417
-     */
418
-    public function testHandleCommand_Tag()
419
-    {
420
-        $object = new \SwaggerGen\Swagger\Swagger();
421
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
422
-
423
-        $return = $object->handleCommand('tag', 'Users');
424
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
425
-
426
-        $path = $object->handleCommand('endpoint');
427
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
428
-        $operation = $path->handleCommand('method', 'get');
429
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
430
-        $response = $operation->handleCommand('response', 200);
431
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
432
-
433
-        $this->assertSame(array(
434
-            'swagger' => '2.0',
435
-            'info' => array(
436
-                'title' => 'undefined',
437
-                'version' => '0',
438
-            ),
439
-            'paths' => array(
440
-                '/' => array(
441
-                    'get' => array(
442
-                        'responses' => array(
443
-                            200 => array(
444
-                                'description' => 'OK',
445
-                            ),
446
-                        ),
447
-                    ),
448
-                ),
449
-            ),
450
-            'tags' => array(
451
-                array(
452
-                    'name' => 'Users',
453
-                ),
454
-            ),
455
-        ), $object->toArray());
456
-    }
457
-
458
-    /**
459
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
460
-     */
461
-    public function testHandleCommand_Api()
462
-    {
463
-        $object = new \SwaggerGen\Swagger\Swagger();
464
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
465
-
466
-        $return = $object->handleCommand('api', 'Users');
467
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
468
-
469
-        $path = $object->handleCommand('endpoint');
470
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
471
-        $operation = $path->handleCommand('method', 'get');
472
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
473
-        $response = $operation->handleCommand('response', 200);
474
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
475
-
476
-        $this->assertSame(array(
477
-            'swagger' => '2.0',
478
-            'info' => array(
479
-                'title' => 'undefined',
480
-                'version' => '0',
481
-            ),
482
-            'paths' => array(
483
-                '/' => array(
484
-                    'get' => array(
485
-                        'tags' => array(
486
-                            'Users',
487
-                        ),
488
-                        'responses' => array(
489
-                            200 => array(
490
-                                'description' => 'OK',
491
-                            ),
492
-                        ),
493
-                    ),
494
-                ),
495
-            ),
496
-            'tags' => array(
497
-                array(
498
-                    'name' => 'Users',
499
-                ),
500
-            ),
501
-        ), $object->toArray());
502
-    }
503
-
504
-    /**
505
-     * @covers \SwaggerGen\Swagger\Swagger::handleCommand
506
-     */
507
-    public function testHandleCommand_Tag_Repeat()
508
-    {
509
-        $object = new \SwaggerGen\Swagger\Swagger();
510
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
511
-
512
-        $return = $object->handleCommand('tag', 'Users Info A');
513
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
514
-
515
-        $return = $object->handleCommand('tag', 'Users Info B');
516
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
517
-
518
-        $path = $object->handleCommand('endpoint');
519
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
520
-
521
-        $this->assertSame(array(
522
-            'swagger' => '2.0',
523
-            'info' => array(
524
-                'title' => 'undefined',
525
-                'version' => '0',
526
-            ),
527
-            'paths' => array(
528
-                '/' => array(),
529
-            ),
530
-            'tags' => array(
531
-                array(
532
-                    'name' => 'Users',
533
-                    'description' => 'Info A',
534
-                ),
535
-            ),
536
-        ), $object->toArray());
537
-    }
538
-
539
-    /**
540
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
541
-     */
542
-    public function testHandleCommand_EndPoint_Empty()
543
-    {
544
-        $object = new \SwaggerGen\Swagger\Swagger();
545
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
546
-
547
-        $path = $object->handleCommand('endpoint');
548
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
549
-
550
-        $this->assertSame(array(
551
-            'swagger' => '2.0',
552
-            'info' => array(
553
-                'title' => 'undefined',
554
-                'version' => '0',
555
-            ),
556
-            'paths' => array(
557
-                '/' => array(),
558
-            )
559
-        ), $object->toArray());
560
-    }
561
-
562
-    /**
563
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
564
-     */
565
-    public function testHandleCommand_EndPoint()
566
-    {
567
-        $object = new \SwaggerGen\Swagger\Swagger();
568
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
569
-
570
-        $path = $object->handleCommand('endpoint', 'users/:userid/rights');
571
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
572
-
573
-        $this->assertSame(array(
574
-            'swagger' => '2.0',
575
-            'info' => array(
576
-                'title' => 'undefined',
577
-                'version' => '0',
578
-            ),
579
-            'paths' => array(
580
-                '/users/:userid/rights' => array(),
581
-            )
582
-        ), $object->toArray());
583
-    }
584
-
585
-    /**
586
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
587
-     */
588
-    public function testHandleCommand_EndPoint_Tag()
589
-    {
590
-        $object = new \SwaggerGen\Swagger\Swagger();
591
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
592
-
593
-        $path = $object->handleCommand('endpoint', 'users/:userid/rights Users');
594
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
595
-
596
-        $this->assertSame(array(
597
-            'swagger' => '2.0',
598
-            'info' => array(
599
-                'title' => 'undefined',
600
-                'version' => '0',
601
-            ),
602
-            'paths' => array(
603
-                '/users/:userid/rights' => array(),
604
-            ),
605
-            'tags' => array(
606
-                array(
607
-                    'name' => 'Users',
608
-                ),
609
-            ),
610
-        ), $object->toArray());
611
-    }
612
-
613
-    /**
614
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
615
-     */
616
-    public function testHandleCommand_EndPoint_Tag_NoDescriptionOverwrite()
617
-    {
618
-        $object = new \SwaggerGen\Swagger\Swagger();
619
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
620
-
621
-        $path = $object->handleCommand('api', 'Users something here');
622
-        $path = $object->handleCommand('endpoint', 'users/:userid/rights Users');
623
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
624
-
625
-        $this->assertSame(array(
626
-            'swagger' => '2.0',
627
-            'info' => array(
628
-                'title' => 'undefined',
629
-                'version' => '0',
630
-            ),
631
-            'paths' => array(
632
-                '/users/:userid/rights' => array(),
633
-            ),
634
-            'tags' => array(
635
-                array(
636
-                    'name' => 'Users',
637
-                    'description' => 'something here',
638
-                ),
639
-            ),
640
-        ), $object->toArray());
641
-    }
642
-
643
-    /**
644
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
645
-     */
646
-    public function testHandleCommand_EndPoint_Tag_Description()
647
-    {
648
-        $object = new \SwaggerGen\Swagger\Swagger();
649
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
650
-
651
-        $path = $object->handleCommand('endpoint', 'users/:userid/rights Users Description here');
652
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
653
-
654
-        $this->assertSame(array(
655
-            'swagger' => '2.0',
656
-            'info' => array(
657
-                'title' => 'undefined',
658
-                'version' => '0',
659
-            ),
660
-            'paths' => array(
661
-                '/users/:userid/rights' => array(),
662
-            ),
663
-            'tags' => array(
664
-                array(
665
-                    'name' => 'Users',
666
-                    'description' => 'Description here',
667
-                ),
668
-            ),
669
-        ), $object->toArray());
670
-    }
671
-
672
-    /**
673
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
674
-     */
675
-    public function testHandleCommand_Security_Empty()
676
-    {
677
-        $object = new \SwaggerGen\Swagger\Swagger();
678
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
679
-
680
-        $this->expectException('\SwaggerGen\Exception', "Missing security name");
681
-        $path = $object->handleCommand('security');
682
-    }
683
-
684
-    /**
685
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
686
-     */
687
-    public function testHandleCommand_Security_MissingType()
688
-    {
689
-        $object = new \SwaggerGen\Swagger\Swagger();
690
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
691
-
692
-        $this->expectException('\SwaggerGen\Exception', "Missing security type");
693
-        $path = $object->handleCommand('security', 'foo');
694
-    }
695
-
696
-    /**
697
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
698
-     */
699
-    public function testHandleCommand_Security_BadType()
700
-    {
701
-        $object = new \SwaggerGen\Swagger\Swagger();
702
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
703
-
704
-        $this->expectException('\SwaggerGen\Exception', "Security scheme type must be either 'basic', 'apiKey' or 'oauth2', not 'bad'");
705
-        $path = $object->handleCommand('security', 'foo bad');
706
-    }
707
-
708
-    /**
709
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
710
-     */
711
-    public function testHandleCommand_Security()
712
-    {
713
-        $object = new \SwaggerGen\Swagger\Swagger();
714
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
715
-
716
-        $security = $object->handleCommand('security', 'foo basic');
717
-        $this->assertInstanceOf('\SwaggerGen\Swagger\SecurityScheme', $security);
718
-
719
-        $path = $object->handleCommand('endpoint');
720
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
721
-
722
-        $this->assertSame(array(
723
-            'swagger' => '2.0',
724
-            'info' => array(
725
-                'title' => 'undefined',
726
-                'version' => '0',
727
-            ),
728
-            'paths' => array(
729
-                '/' => array(),
730
-            ),
731
-            'securityDefinitions' => array(
732
-                'foo' => array(
733
-                    'type' => 'basic',
734
-                ),
735
-            ),
736
-        ), $object->toArray());
737
-    }
738
-
739
-    /**
740
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
741
-     */
742
-    public function testHandleCommand_Require_Empty()
743
-    {
744
-        $object = new \SwaggerGen\Swagger\Swagger();
745
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
746
-
747
-        $this->expectException('\SwaggerGen\Exception', "Missing require name");
748
-        $object->handleCommand('require');
749
-    }
750
-
751
-    /**
752
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
753
-     */
754
-    public function testHandleCommand_Require_Undefined()
755
-    {
756
-        $object = new \SwaggerGen\Swagger\Swagger();
757
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
758
-
759
-        $return = $object->handleCommand('require', 'foo');
760
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
761
-
762
-        $path = $object->handleCommand('endpoint');
763
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
764
-
765
-        $this->expectException('\SwaggerGen\Exception', "Required security scheme not defined: 'foo'");
766
-        $object->toArray();
767
-    }
768
-
769
-    /**
770
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
771
-     */
772
-    public function testHandleCommand_Require()
773
-    {
774
-        $object = new \SwaggerGen\Swagger\Swagger();
775
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
776
-
777
-        $return = $object->handleCommand('require', 'foo');
778
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
779
-
780
-        $security = $object->handleCommand('security', 'foo basic');
781
-        $this->assertInstanceOf('\SwaggerGen\Swagger\SecurityScheme', $security);
782
-
783
-        $path = $object->handleCommand('endpoint');
784
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
785
-
786
-        $this->assertEquals(array(
787
-            'swagger' => '2.0',
788
-            'info' => array(
789
-                'title' => 'undefined',
790
-                'version' => '0',
791
-            ),
792
-            'paths' => array(
793
-                '/' => array(),
794
-            ),
795
-            'securityDefinitions' => array(
796
-                'foo' => array(
797
-                    'type' => 'basic',
798
-                ),
799
-            ),
800
-            'security' => array(
801
-                array(
802
-                    'foo' => array(),
803
-                ),
804
-            ),
805
-        ), $object->toArray());
806
-    }
807
-
808
-    /**
809
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
810
-     */
811
-    public function testHandleCommand_Definition_Empty()
812
-    {
813
-        $object = new \SwaggerGen\Swagger\Swagger();
814
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
815
-
816
-        $this->expectException('\SwaggerGen\Exception', "Missing definition name");
817
-        $object->handleCommand('definition');
818
-    }
819
-
820
-    /**
821
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
822
-     */
823
-    public function testHandleCommand_Definition_NoName()
824
-    {
825
-        $object = new \SwaggerGen\Swagger\Swagger();
826
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
827
-
828
-        $this->expectException('\SwaggerGen\Exception', "Missing definition name");
829
-        $object->handleCommand('definition', '');
830
-    }
831
-
832
-    /**
833
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
834
-     */
835
-    public function testHandleCommand_Definition()
836
-    {
837
-        $object = new \SwaggerGen\Swagger\Swagger();
838
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
839
-
840
-        $schema = $object->handleCommand('definition', 'foo');
841
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
842
-
843
-
844
-        $path = $object->handleCommand('endpoint');
845
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
846
-
847
-        $this->assertSame(array(
848
-            'swagger' => '2.0',
849
-            'info' => array(
850
-                'title' => 'undefined',
851
-                'version' => '0',
852
-            ),
853
-            'paths' => array(
854
-                '/' => array(),
855
-            ),
856
-            'definitions' => array(
857
-                'foo' => array(
858
-                    'type' => 'object',
859
-                ),
860
-            ),
861
-        ), $object->toArray());
862
-    }
863
-
864
-    /**
865
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
866
-     */
867
-    public function testHandleCommand_Definition_ReadOnly()
868
-    {
869
-        $object = new \SwaggerGen\Swagger\Swagger();
870
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
871
-
872
-        $schema = $object->handleCommand('definition!', 'foo');
873
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
874
-
875
-
876
-        $path = $object->handleCommand('endpoint');
877
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
878
-
879
-        $this->assertSame(array(
880
-            'swagger' => '2.0',
881
-            'info' => array(
882
-                'title' => 'undefined',
883
-                'version' => '0',
884
-            ),
885
-            'paths' => array(
886
-                '/' => array(),
887
-            ),
888
-            'definitions' => array(
889
-                'foo' => array(
890
-                    'type' => 'object',
891
-                    'readOnly' => true,
892
-                ),
893
-            ),
894
-        ), $object->toArray());
895
-    }
896
-
897
-    /**
898
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
899
-     */
900
-    public function testHandleCommand_Model()
901
-    {
902
-        $object = new \SwaggerGen\Swagger\Swagger();
903
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
904
-
905
-        $schema = $object->handleCommand('model', 'foo');
906
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
907
-
908
-        $path = $object->handleCommand('endpoint');
909
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
910
-
911
-        $this->assertSame(array(
912
-            'swagger' => '2.0',
913
-            'info' => array(
914
-                'title' => 'undefined',
915
-                'version' => '0',
916
-            ),
917
-            'paths' => array(
918
-                '/' => array(),
919
-            ),
920
-            'definitions' => array(
921
-                'foo' => array(
922
-                    'type' => 'object',
923
-                ),
924
-            ),
925
-        ), $object->toArray());
926
-    }
927
-
928
-    /**
929
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
930
-     */
931
-    public function testHandleCommand_Model_ReadOnly()
932
-    {
933
-        $object = new \SwaggerGen\Swagger\Swagger();
934
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
935
-
936
-        $schema = $object->handleCommand('model!', 'foo');
937
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
938
-
939
-        $path = $object->handleCommand('endpoint');
940
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
941
-
942
-        $this->assertSame(array(
943
-            'swagger' => '2.0',
944
-            'info' => array(
945
-                'title' => 'undefined',
946
-                'version' => '0',
947
-            ),
948
-            'paths' => array(
949
-                '/' => array(),
950
-            ),
951
-            'definitions' => array(
952
-                'foo' => array(
953
-                    'type' => 'object',
954
-                    'readOnly' => true,
955
-                ),
956
-            ),
957
-        ), $object->toArray());
958
-    }
959
-
960
-    /**
961
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
962
-     */
963
-    public function testHandleCommand_Response_NoType()
964
-    {
965
-        $object = new \SwaggerGen\Swagger\Swagger();
966
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
967
-
968
-        $this->expectException('\SwaggerGen\Exception', "Response definition missing description");
969
-        $response = $object->handleCommand('response', 'NotFound');
970
-    }
971
-
972
-    /**
973
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
974
-     */
975
-    public function testHandleCommand_Response_NoDescription()
976
-    {
977
-        $object = new \SwaggerGen\Swagger\Swagger();
978
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
979
-
980
-        $this->expectException('\SwaggerGen\Exception', "Response definition missing description");
981
-        $response = $object->handleCommand('response', 'NotFound null');
982
-    }
983
-
984
-    /**
985
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
986
-     */
987
-    public function testHandleCommand_Response_WithoutDefinition()
988
-    {
989
-        $object = new \SwaggerGen\Swagger\Swagger();
990
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
991
-
992
-        $response = $object->handleCommand('response', 'NotFound null Entity not found');
993
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
994
-
995
-        $path = $object->handleCommand('endpoint');
996
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
997
-
998
-        $this->assertSame(array(
999
-            'swagger' => '2.0',
1000
-            'info' => array(
1001
-                'title' => 'undefined',
1002
-                'version' => '0',
1003
-            ),
1004
-            'paths' => array(
1005
-                '/' => array(),
1006
-            ),
1007
-            'responses' => array(
1008
-                'NotFound' => array(
1009
-                    'description' => 'Entity not found',
1010
-                ),
1011
-            ),
1012
-        ), $object->toArray());
1013
-    }
1014
-
1015
-    /**
1016
-     * @covers \SwaggerGen\Swagger\Swagger::__construct
1017
-     */
1018
-    public function testHandleCommand_Response_WithDefinition()
1019
-    {
1020
-        $object = new \SwaggerGen\Swagger\Swagger();
1021
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
1022
-
1023
-        $response = $object->handleCommand('response', 'NotFound int Entity not found');
1024
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
1025
-
1026
-        $path = $object->handleCommand('endpoint');
1027
-        $this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
1028
-
1029
-        $this->assertSame(array(
1030
-            'swagger' => '2.0',
1031
-            'info' => array(
1032
-                'title' => 'undefined',
1033
-                'version' => '0',
1034
-            ),
1035
-            'paths' => array(
1036
-                '/' => array(),
1037
-            ),
1038
-            'responses' => array(
1039
-                'NotFound' => array(
1040
-                    'description' => 'Entity not found',
1041
-                    'schema' => array(
1042
-                        'type' => 'integer',
1043
-                        'format' => 'int32'
1044
-                    ),
1045
-                ),
1046
-            ),
1047
-        ), $object->toArray());
1048
-    }
6
+	/**
7
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
8
+	 */
9
+	public function testConstructor_Empty()
10
+	{
11
+		$object = new \SwaggerGen\Swagger\Swagger();
12
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
13
+
14
+		$this->expectException('\SwaggerGen\Exception', "No path defined");
15
+		$object->toArray();
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
20
+	 */
21
+	public function testConstructor_Empty_WithEndPoint()
22
+	{
23
+		$object = new \SwaggerGen\Swagger\Swagger();
24
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
25
+
26
+		$path = $object->handleCommand('endpoint');
27
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
28
+
29
+		$this->assertSame(array(
30
+			'swagger' => '2.0',
31
+			'info' => array(
32
+				'title' => 'undefined',
33
+				'version' => '0',
34
+			),
35
+			'paths' => array(
36
+				'/' => array(),
37
+			)
38
+		), $object->toArray());
39
+	}
40
+
41
+	/**
42
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
43
+	 */
44
+	public function testConstructor_Empty_Host()
45
+	{
46
+		$object = new \SwaggerGen\Swagger\Swagger('http://localhost');
47
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
48
+
49
+		$path = $object->handleCommand('endpoint');
50
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
51
+
52
+		$this->assertSame(array(
53
+			'swagger' => '2.0',
54
+			'info' => array(
55
+				'title' => 'undefined',
56
+				'version' => '0',
57
+			),
58
+			'host' => 'http://localhost',
59
+			'paths' => array(
60
+				'/' => array(),
61
+			)
62
+		), $object->toArray());
63
+	}
64
+
65
+	/**
66
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
67
+	 */
68
+	public function testConstructor_Empty_HostBasepath()
69
+	{
70
+		$object = new \SwaggerGen\Swagger\Swagger('http://localhost', 'api');
71
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
72
+
73
+		$path = $object->handleCommand('endpoint');
74
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
75
+
76
+		$this->assertSame(array(
77
+			'swagger' => '2.0',
78
+			'info' => array(
79
+				'title' => 'undefined',
80
+				'version' => '0',
81
+			),
82
+			'host' => 'http://localhost',
83
+			'basePath' => 'api',
84
+			'paths' => array(
85
+				'/' => array(),
86
+			)
87
+		), $object->toArray());
88
+	}
89
+
90
+	/**
91
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
92
+	 */
93
+	public function testHandleCommand_Info_Pass()
94
+	{
95
+		$object = new \SwaggerGen\Swagger\Swagger('http://localhost', 'api');
96
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
97
+
98
+		$path = $object->handleCommand('endpoint');
99
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
100
+
101
+		$object->handleCommand('title', 'This is the title');
102
+		$object->handleCommand('description', 'This is the description');
103
+		$object->handleCommand('license', 'BSD');
104
+		$object->handleCommand('terms', 'These are the terms');
105
+		$object->handleCommand('version', '1.2.3a');
106
+		$object->handleCommand('title', 'This is the title');
107
+		$object->handleCommand('contact', 'Arthur D. Author http://example.test [email protected]');
108
+
109
+		$this->assertSame(array(
110
+			'swagger' => '2.0',
111
+			'info' => array('title' => 'This is the title',
112
+				'description' => 'This is the description',
113
+				'termsOfService' => 'These are the terms',
114
+				'contact' => array(
115
+					'name' => 'Arthur D. Author',
116
+					'url' => 'http://example.test',
117
+					'email' => '[email protected]',
118
+				),
119
+				'license' => array(
120
+					'name' => 'BSD',
121
+					'url' => 'https://opensource.org/licenses/BSD-2-Clause',
122
+				),
123
+				'version' => '1.2.3a',
124
+			),
125
+			'host' => 'http://localhost',
126
+			'basePath' => 'api',
127
+			'paths' => array(
128
+				'/' => array(),
129
+			)
130
+		), $object->toArray());
131
+	}
132
+
133
+	/**
134
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
135
+	 */
136
+	public function testHandleCommand_Schemes_Empty()
137
+	{
138
+		$object = new \SwaggerGen\Swagger\Swagger();
139
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
140
+
141
+		$return = $object->handleCommand('schemes');
142
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
143
+
144
+		$path = $object->handleCommand('endpoint');
145
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
146
+
147
+		$this->assertSame(array(
148
+			'swagger' => '2.0',
149
+			'info' => array(
150
+				'title' => 'undefined',
151
+				'version' => '0',
152
+			),
153
+			'paths' => array(
154
+				'/' => array(),
155
+			),
156
+		), $object->toArray());
157
+	}
158
+
159
+	/**
160
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
161
+	 */
162
+	public function testHandleCommand_Schemes()
163
+	{
164
+		$object = new \SwaggerGen\Swagger\Swagger();
165
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
166
+
167
+		$return = $object->handleCommand('schemes', 'http https');
168
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
169
+
170
+		$path = $object->handleCommand('endpoint');
171
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
172
+
173
+		$this->assertSame(array(
174
+			'swagger' => '2.0',
175
+			'info' => array(
176
+				'title' => 'undefined',
177
+				'version' => '0',
178
+			),
179
+			'schemes' => array(
180
+				'http',
181
+				'https',
182
+			),
183
+			'paths' => array(
184
+				'/' => array(),
185
+			),
186
+		), $object->toArray());
187
+	}
188
+
189
+	/**
190
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
191
+	 */
192
+	public function testHandleCommand_Schemes_Append()
193
+	{
194
+		$object = new \SwaggerGen\Swagger\Swagger();
195
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
196
+
197
+		$return = $object->handleCommand('schemes', 'ws wss');
198
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
199
+
200
+		$return = $object->handleCommand('schemes', 'http ws');
201
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
202
+
203
+		$path = $object->handleCommand('endpoint');
204
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
205
+
206
+		$this->assertSame(array(
207
+			'swagger' => '2.0',
208
+			'info' => array(
209
+				'title' => 'undefined',
210
+				'version' => '0',
211
+			),
212
+			'schemes' => array(
213
+				'http',
214
+				'ws',
215
+				'wss',
216
+			),
217
+			'paths' => array(
218
+				'/' => array(),
219
+			),
220
+		), $object->toArray());
221
+	}
222
+
223
+	/**
224
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
225
+	 */
226
+	public function testHandleCommand_Consumes_Empty()
227
+	{
228
+		$object = new \SwaggerGen\Swagger\Swagger();
229
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
230
+
231
+		$return = $object->handleCommand('consumes');
232
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
233
+
234
+		$path = $object->handleCommand('endpoint');
235
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
236
+
237
+		$this->assertSame(array(
238
+			'swagger' => '2.0',
239
+			'info' => array(
240
+				'title' => 'undefined',
241
+				'version' => '0',
242
+			),
243
+			'paths' => array(
244
+				'/' => array(),
245
+			),
246
+		), $object->toArray());
247
+	}
248
+
249
+	/**
250
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
251
+	 */
252
+	public function testHandleCommand_Consumes()
253
+	{
254
+		$object = new \SwaggerGen\Swagger\Swagger();
255
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
256
+
257
+		$return = $object->handleCommand('consumes', 'image/png text');
258
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
259
+
260
+		$path = $object->handleCommand('endpoint');
261
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
262
+
263
+		$this->assertSame(array(
264
+			'swagger' => '2.0',
265
+			'info' => array(
266
+				'title' => 'undefined',
267
+				'version' => '0',
268
+			),
269
+			'consumes' => array(
270
+				'image/png',
271
+				'text/plain',
272
+			),
273
+			'paths' => array(
274
+				'/' => array(),
275
+			),
276
+		), $object->toArray());
277
+	}
278
+
279
+	/**
280
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
281
+	 */
282
+	public function testHandleCommand_Consumes_Append()
283
+	{
284
+		$object = new \SwaggerGen\Swagger\Swagger();
285
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
286
+
287
+		$return = $object->handleCommand('consumes', 'image/png text');
288
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
289
+
290
+		$return = $object->handleCommand('consumes', 'text json');
291
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
292
+
293
+		$path = $object->handleCommand('endpoint');
294
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
295
+
296
+		$this->assertSame(array(
297
+			'swagger' => '2.0',
298
+			'info' => array(
299
+				'title' => 'undefined',
300
+				'version' => '0',
301
+			),
302
+			'consumes' => array(
303
+				'application/json',
304
+				'image/png',
305
+				'text/plain',
306
+			),
307
+			'paths' => array(
308
+				'/' => array(),
309
+			),
310
+		), $object->toArray());
311
+	}
312
+
313
+	/**
314
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
315
+	 */
316
+	public function testHandleCommand_Produces_Empty()
317
+	{
318
+		$object = new \SwaggerGen\Swagger\Swagger();
319
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
320
+
321
+		$return = $object->handleCommand('produces');
322
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
323
+
324
+		$path = $object->handleCommand('endpoint');
325
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
326
+
327
+		$this->assertSame(array(
328
+			'swagger' => '2.0',
329
+			'info' => array(
330
+				'title' => 'undefined',
331
+				'version' => '0',
332
+			),
333
+			'paths' => array(
334
+				'/' => array(),
335
+			),
336
+		), $object->toArray());
337
+	}
338
+
339
+	/**
340
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
341
+	 */
342
+	public function testHandleCommand_Produces()
343
+	{
344
+		$object = new \SwaggerGen\Swagger\Swagger();
345
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
346
+
347
+		$return = $object->handleCommand('produces', 'image/png text');
348
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
349
+
350
+		$path = $object->handleCommand('endpoint');
351
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
352
+
353
+		$this->assertSame(array(
354
+			'swagger' => '2.0',
355
+			'info' => array(
356
+				'title' => 'undefined',
357
+				'version' => '0',
358
+			),
359
+			'produces' => array(
360
+				'image/png',
361
+				'text/plain',
362
+			),
363
+			'paths' => array(
364
+				'/' => array(),
365
+			),
366
+		), $object->toArray());
367
+	}
368
+
369
+	/**
370
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
371
+	 */
372
+	public function testHandleCommand_Produces_Append()
373
+	{
374
+		$object = new \SwaggerGen\Swagger\Swagger();
375
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
376
+
377
+		$return = $object->handleCommand('produces', 'image/png text');
378
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
379
+
380
+		$return = $object->handleCommand('produces', 'text json');
381
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
382
+
383
+		$path = $object->handleCommand('endpoint');
384
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
385
+
386
+		$this->assertSame(array(
387
+			'swagger' => '2.0',
388
+			'info' => array(
389
+				'title' => 'undefined',
390
+				'version' => '0',
391
+			),
392
+			'produces' => array(
393
+				'application/json',
394
+				'image/png',
395
+				'text/plain',
396
+			),
397
+			'paths' => array(
398
+				'/' => array(),
399
+			),
400
+		), $object->toArray());
401
+	}
402
+
403
+	/**
404
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
405
+	 */
406
+	public function testHandleCommand_Tag_Empty()
407
+	{
408
+		$object = new \SwaggerGen\Swagger\Swagger();
409
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
410
+
411
+		$this->expectException('\SwaggerGen\Exception', "Missing tag name");
412
+		$object->handleCommand('tag');
413
+	}
414
+
415
+	/**
416
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
417
+	 */
418
+	public function testHandleCommand_Tag()
419
+	{
420
+		$object = new \SwaggerGen\Swagger\Swagger();
421
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
422
+
423
+		$return = $object->handleCommand('tag', 'Users');
424
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
425
+
426
+		$path = $object->handleCommand('endpoint');
427
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
428
+		$operation = $path->handleCommand('method', 'get');
429
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
430
+		$response = $operation->handleCommand('response', 200);
431
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
432
+
433
+		$this->assertSame(array(
434
+			'swagger' => '2.0',
435
+			'info' => array(
436
+				'title' => 'undefined',
437
+				'version' => '0',
438
+			),
439
+			'paths' => array(
440
+				'/' => array(
441
+					'get' => array(
442
+						'responses' => array(
443
+							200 => array(
444
+								'description' => 'OK',
445
+							),
446
+						),
447
+					),
448
+				),
449
+			),
450
+			'tags' => array(
451
+				array(
452
+					'name' => 'Users',
453
+				),
454
+			),
455
+		), $object->toArray());
456
+	}
457
+
458
+	/**
459
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
460
+	 */
461
+	public function testHandleCommand_Api()
462
+	{
463
+		$object = new \SwaggerGen\Swagger\Swagger();
464
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
465
+
466
+		$return = $object->handleCommand('api', 'Users');
467
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
468
+
469
+		$path = $object->handleCommand('endpoint');
470
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
471
+		$operation = $path->handleCommand('method', 'get');
472
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Operation', $operation);
473
+		$response = $operation->handleCommand('response', 200);
474
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
475
+
476
+		$this->assertSame(array(
477
+			'swagger' => '2.0',
478
+			'info' => array(
479
+				'title' => 'undefined',
480
+				'version' => '0',
481
+			),
482
+			'paths' => array(
483
+				'/' => array(
484
+					'get' => array(
485
+						'tags' => array(
486
+							'Users',
487
+						),
488
+						'responses' => array(
489
+							200 => array(
490
+								'description' => 'OK',
491
+							),
492
+						),
493
+					),
494
+				),
495
+			),
496
+			'tags' => array(
497
+				array(
498
+					'name' => 'Users',
499
+				),
500
+			),
501
+		), $object->toArray());
502
+	}
503
+
504
+	/**
505
+	 * @covers \SwaggerGen\Swagger\Swagger::handleCommand
506
+	 */
507
+	public function testHandleCommand_Tag_Repeat()
508
+	{
509
+		$object = new \SwaggerGen\Swagger\Swagger();
510
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
511
+
512
+		$return = $object->handleCommand('tag', 'Users Info A');
513
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
514
+
515
+		$return = $object->handleCommand('tag', 'Users Info B');
516
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Tag', $return);
517
+
518
+		$path = $object->handleCommand('endpoint');
519
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
520
+
521
+		$this->assertSame(array(
522
+			'swagger' => '2.0',
523
+			'info' => array(
524
+				'title' => 'undefined',
525
+				'version' => '0',
526
+			),
527
+			'paths' => array(
528
+				'/' => array(),
529
+			),
530
+			'tags' => array(
531
+				array(
532
+					'name' => 'Users',
533
+					'description' => 'Info A',
534
+				),
535
+			),
536
+		), $object->toArray());
537
+	}
538
+
539
+	/**
540
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
541
+	 */
542
+	public function testHandleCommand_EndPoint_Empty()
543
+	{
544
+		$object = new \SwaggerGen\Swagger\Swagger();
545
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
546
+
547
+		$path = $object->handleCommand('endpoint');
548
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
549
+
550
+		$this->assertSame(array(
551
+			'swagger' => '2.0',
552
+			'info' => array(
553
+				'title' => 'undefined',
554
+				'version' => '0',
555
+			),
556
+			'paths' => array(
557
+				'/' => array(),
558
+			)
559
+		), $object->toArray());
560
+	}
561
+
562
+	/**
563
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
564
+	 */
565
+	public function testHandleCommand_EndPoint()
566
+	{
567
+		$object = new \SwaggerGen\Swagger\Swagger();
568
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
569
+
570
+		$path = $object->handleCommand('endpoint', 'users/:userid/rights');
571
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
572
+
573
+		$this->assertSame(array(
574
+			'swagger' => '2.0',
575
+			'info' => array(
576
+				'title' => 'undefined',
577
+				'version' => '0',
578
+			),
579
+			'paths' => array(
580
+				'/users/:userid/rights' => array(),
581
+			)
582
+		), $object->toArray());
583
+	}
584
+
585
+	/**
586
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
587
+	 */
588
+	public function testHandleCommand_EndPoint_Tag()
589
+	{
590
+		$object = new \SwaggerGen\Swagger\Swagger();
591
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
592
+
593
+		$path = $object->handleCommand('endpoint', 'users/:userid/rights Users');
594
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
595
+
596
+		$this->assertSame(array(
597
+			'swagger' => '2.0',
598
+			'info' => array(
599
+				'title' => 'undefined',
600
+				'version' => '0',
601
+			),
602
+			'paths' => array(
603
+				'/users/:userid/rights' => array(),
604
+			),
605
+			'tags' => array(
606
+				array(
607
+					'name' => 'Users',
608
+				),
609
+			),
610
+		), $object->toArray());
611
+	}
612
+
613
+	/**
614
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
615
+	 */
616
+	public function testHandleCommand_EndPoint_Tag_NoDescriptionOverwrite()
617
+	{
618
+		$object = new \SwaggerGen\Swagger\Swagger();
619
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
620
+
621
+		$path = $object->handleCommand('api', 'Users something here');
622
+		$path = $object->handleCommand('endpoint', 'users/:userid/rights Users');
623
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
624
+
625
+		$this->assertSame(array(
626
+			'swagger' => '2.0',
627
+			'info' => array(
628
+				'title' => 'undefined',
629
+				'version' => '0',
630
+			),
631
+			'paths' => array(
632
+				'/users/:userid/rights' => array(),
633
+			),
634
+			'tags' => array(
635
+				array(
636
+					'name' => 'Users',
637
+					'description' => 'something here',
638
+				),
639
+			),
640
+		), $object->toArray());
641
+	}
642
+
643
+	/**
644
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
645
+	 */
646
+	public function testHandleCommand_EndPoint_Tag_Description()
647
+	{
648
+		$object = new \SwaggerGen\Swagger\Swagger();
649
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
650
+
651
+		$path = $object->handleCommand('endpoint', 'users/:userid/rights Users Description here');
652
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
653
+
654
+		$this->assertSame(array(
655
+			'swagger' => '2.0',
656
+			'info' => array(
657
+				'title' => 'undefined',
658
+				'version' => '0',
659
+			),
660
+			'paths' => array(
661
+				'/users/:userid/rights' => array(),
662
+			),
663
+			'tags' => array(
664
+				array(
665
+					'name' => 'Users',
666
+					'description' => 'Description here',
667
+				),
668
+			),
669
+		), $object->toArray());
670
+	}
671
+
672
+	/**
673
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
674
+	 */
675
+	public function testHandleCommand_Security_Empty()
676
+	{
677
+		$object = new \SwaggerGen\Swagger\Swagger();
678
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
679
+
680
+		$this->expectException('\SwaggerGen\Exception', "Missing security name");
681
+		$path = $object->handleCommand('security');
682
+	}
683
+
684
+	/**
685
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
686
+	 */
687
+	public function testHandleCommand_Security_MissingType()
688
+	{
689
+		$object = new \SwaggerGen\Swagger\Swagger();
690
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
691
+
692
+		$this->expectException('\SwaggerGen\Exception', "Missing security type");
693
+		$path = $object->handleCommand('security', 'foo');
694
+	}
695
+
696
+	/**
697
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
698
+	 */
699
+	public function testHandleCommand_Security_BadType()
700
+	{
701
+		$object = new \SwaggerGen\Swagger\Swagger();
702
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
703
+
704
+		$this->expectException('\SwaggerGen\Exception', "Security scheme type must be either 'basic', 'apiKey' or 'oauth2', not 'bad'");
705
+		$path = $object->handleCommand('security', 'foo bad');
706
+	}
707
+
708
+	/**
709
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
710
+	 */
711
+	public function testHandleCommand_Security()
712
+	{
713
+		$object = new \SwaggerGen\Swagger\Swagger();
714
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
715
+
716
+		$security = $object->handleCommand('security', 'foo basic');
717
+		$this->assertInstanceOf('\SwaggerGen\Swagger\SecurityScheme', $security);
718
+
719
+		$path = $object->handleCommand('endpoint');
720
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
721
+
722
+		$this->assertSame(array(
723
+			'swagger' => '2.0',
724
+			'info' => array(
725
+				'title' => 'undefined',
726
+				'version' => '0',
727
+			),
728
+			'paths' => array(
729
+				'/' => array(),
730
+			),
731
+			'securityDefinitions' => array(
732
+				'foo' => array(
733
+					'type' => 'basic',
734
+				),
735
+			),
736
+		), $object->toArray());
737
+	}
738
+
739
+	/**
740
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
741
+	 */
742
+	public function testHandleCommand_Require_Empty()
743
+	{
744
+		$object = new \SwaggerGen\Swagger\Swagger();
745
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
746
+
747
+		$this->expectException('\SwaggerGen\Exception', "Missing require name");
748
+		$object->handleCommand('require');
749
+	}
750
+
751
+	/**
752
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
753
+	 */
754
+	public function testHandleCommand_Require_Undefined()
755
+	{
756
+		$object = new \SwaggerGen\Swagger\Swagger();
757
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
758
+
759
+		$return = $object->handleCommand('require', 'foo');
760
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
761
+
762
+		$path = $object->handleCommand('endpoint');
763
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
764
+
765
+		$this->expectException('\SwaggerGen\Exception', "Required security scheme not defined: 'foo'");
766
+		$object->toArray();
767
+	}
768
+
769
+	/**
770
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
771
+	 */
772
+	public function testHandleCommand_Require()
773
+	{
774
+		$object = new \SwaggerGen\Swagger\Swagger();
775
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
776
+
777
+		$return = $object->handleCommand('require', 'foo');
778
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $return);
779
+
780
+		$security = $object->handleCommand('security', 'foo basic');
781
+		$this->assertInstanceOf('\SwaggerGen\Swagger\SecurityScheme', $security);
782
+
783
+		$path = $object->handleCommand('endpoint');
784
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
785
+
786
+		$this->assertEquals(array(
787
+			'swagger' => '2.0',
788
+			'info' => array(
789
+				'title' => 'undefined',
790
+				'version' => '0',
791
+			),
792
+			'paths' => array(
793
+				'/' => array(),
794
+			),
795
+			'securityDefinitions' => array(
796
+				'foo' => array(
797
+					'type' => 'basic',
798
+				),
799
+			),
800
+			'security' => array(
801
+				array(
802
+					'foo' => array(),
803
+				),
804
+			),
805
+		), $object->toArray());
806
+	}
807
+
808
+	/**
809
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
810
+	 */
811
+	public function testHandleCommand_Definition_Empty()
812
+	{
813
+		$object = new \SwaggerGen\Swagger\Swagger();
814
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
815
+
816
+		$this->expectException('\SwaggerGen\Exception', "Missing definition name");
817
+		$object->handleCommand('definition');
818
+	}
819
+
820
+	/**
821
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
822
+	 */
823
+	public function testHandleCommand_Definition_NoName()
824
+	{
825
+		$object = new \SwaggerGen\Swagger\Swagger();
826
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
827
+
828
+		$this->expectException('\SwaggerGen\Exception', "Missing definition name");
829
+		$object->handleCommand('definition', '');
830
+	}
831
+
832
+	/**
833
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
834
+	 */
835
+	public function testHandleCommand_Definition()
836
+	{
837
+		$object = new \SwaggerGen\Swagger\Swagger();
838
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
839
+
840
+		$schema = $object->handleCommand('definition', 'foo');
841
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
842
+
843
+
844
+		$path = $object->handleCommand('endpoint');
845
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
846
+
847
+		$this->assertSame(array(
848
+			'swagger' => '2.0',
849
+			'info' => array(
850
+				'title' => 'undefined',
851
+				'version' => '0',
852
+			),
853
+			'paths' => array(
854
+				'/' => array(),
855
+			),
856
+			'definitions' => array(
857
+				'foo' => array(
858
+					'type' => 'object',
859
+				),
860
+			),
861
+		), $object->toArray());
862
+	}
863
+
864
+	/**
865
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
866
+	 */
867
+	public function testHandleCommand_Definition_ReadOnly()
868
+	{
869
+		$object = new \SwaggerGen\Swagger\Swagger();
870
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
871
+
872
+		$schema = $object->handleCommand('definition!', 'foo');
873
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
874
+
875
+
876
+		$path = $object->handleCommand('endpoint');
877
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
878
+
879
+		$this->assertSame(array(
880
+			'swagger' => '2.0',
881
+			'info' => array(
882
+				'title' => 'undefined',
883
+				'version' => '0',
884
+			),
885
+			'paths' => array(
886
+				'/' => array(),
887
+			),
888
+			'definitions' => array(
889
+				'foo' => array(
890
+					'type' => 'object',
891
+					'readOnly' => true,
892
+				),
893
+			),
894
+		), $object->toArray());
895
+	}
896
+
897
+	/**
898
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
899
+	 */
900
+	public function testHandleCommand_Model()
901
+	{
902
+		$object = new \SwaggerGen\Swagger\Swagger();
903
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
904
+
905
+		$schema = $object->handleCommand('model', 'foo');
906
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
907
+
908
+		$path = $object->handleCommand('endpoint');
909
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
910
+
911
+		$this->assertSame(array(
912
+			'swagger' => '2.0',
913
+			'info' => array(
914
+				'title' => 'undefined',
915
+				'version' => '0',
916
+			),
917
+			'paths' => array(
918
+				'/' => array(),
919
+			),
920
+			'definitions' => array(
921
+				'foo' => array(
922
+					'type' => 'object',
923
+				),
924
+			),
925
+		), $object->toArray());
926
+	}
927
+
928
+	/**
929
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
930
+	 */
931
+	public function testHandleCommand_Model_ReadOnly()
932
+	{
933
+		$object = new \SwaggerGen\Swagger\Swagger();
934
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
935
+
936
+		$schema = $object->handleCommand('model!', 'foo');
937
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Schema', $schema);
938
+
939
+		$path = $object->handleCommand('endpoint');
940
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
941
+
942
+		$this->assertSame(array(
943
+			'swagger' => '2.0',
944
+			'info' => array(
945
+				'title' => 'undefined',
946
+				'version' => '0',
947
+			),
948
+			'paths' => array(
949
+				'/' => array(),
950
+			),
951
+			'definitions' => array(
952
+				'foo' => array(
953
+					'type' => 'object',
954
+					'readOnly' => true,
955
+				),
956
+			),
957
+		), $object->toArray());
958
+	}
959
+
960
+	/**
961
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
962
+	 */
963
+	public function testHandleCommand_Response_NoType()
964
+	{
965
+		$object = new \SwaggerGen\Swagger\Swagger();
966
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
967
+
968
+		$this->expectException('\SwaggerGen\Exception', "Response definition missing description");
969
+		$response = $object->handleCommand('response', 'NotFound');
970
+	}
971
+
972
+	/**
973
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
974
+	 */
975
+	public function testHandleCommand_Response_NoDescription()
976
+	{
977
+		$object = new \SwaggerGen\Swagger\Swagger();
978
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
979
+
980
+		$this->expectException('\SwaggerGen\Exception', "Response definition missing description");
981
+		$response = $object->handleCommand('response', 'NotFound null');
982
+	}
983
+
984
+	/**
985
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
986
+	 */
987
+	public function testHandleCommand_Response_WithoutDefinition()
988
+	{
989
+		$object = new \SwaggerGen\Swagger\Swagger();
990
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
991
+
992
+		$response = $object->handleCommand('response', 'NotFound null Entity not found');
993
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
994
+
995
+		$path = $object->handleCommand('endpoint');
996
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
997
+
998
+		$this->assertSame(array(
999
+			'swagger' => '2.0',
1000
+			'info' => array(
1001
+				'title' => 'undefined',
1002
+				'version' => '0',
1003
+			),
1004
+			'paths' => array(
1005
+				'/' => array(),
1006
+			),
1007
+			'responses' => array(
1008
+				'NotFound' => array(
1009
+					'description' => 'Entity not found',
1010
+				),
1011
+			),
1012
+		), $object->toArray());
1013
+	}
1014
+
1015
+	/**
1016
+	 * @covers \SwaggerGen\Swagger\Swagger::__construct
1017
+	 */
1018
+	public function testHandleCommand_Response_WithDefinition()
1019
+	{
1020
+		$object = new \SwaggerGen\Swagger\Swagger();
1021
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Swagger', $object);
1022
+
1023
+		$response = $object->handleCommand('response', 'NotFound int Entity not found');
1024
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Response', $response);
1025
+
1026
+		$path = $object->handleCommand('endpoint');
1027
+		$this->assertInstanceOf('\SwaggerGen\Swagger\Path', $path);
1028
+
1029
+		$this->assertSame(array(
1030
+			'swagger' => '2.0',
1031
+			'info' => array(
1032
+				'title' => 'undefined',
1033
+				'version' => '0',
1034
+			),
1035
+			'paths' => array(
1036
+				'/' => array(),
1037
+			),
1038
+			'responses' => array(
1039
+				'NotFound' => array(
1040
+					'description' => 'Entity not found',
1041
+					'schema' => array(
1042
+						'type' => 'integer',
1043
+						'format' => 'int32'
1044
+					),
1045
+				),
1046
+			),
1047
+		), $object->toArray());
1048
+	}
1049 1049
 
1050 1050
 }
Please login to merge, or discard this patch.
tests/Swagger/ExternalDocumentationTest.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -3,79 +3,79 @@
 block discarded – undo
3 3
 class ExternalDocumentationTest extends SwaggerGen_TestCase
4 4
 {
5 5
 
6
-    protected $parent;
7
-
8
-    protected function setUp(): void
9
-    {
10
-        $this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
-    }
12
-
13
-    protected function assertPreConditions(): void
14
-    {
15
-        $this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
-    }
17
-
18
-    /**
19
-     * @covers \SwaggerGen\Swagger\ExternalDocumentation::__construct
20
-     */
21
-    public function testConstructorUrl(): void
22
-    {
23
-        $object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test');
24
-
25
-        $this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
26
-
27
-        $this->assertSame(array(
28
-            'url' => 'http://example.test',
29
-        ), $object->toArray());
30
-    }
31
-
32
-    /**
33
-     * @covers \SwaggerGen\Swagger\ExternalDocumentation::__construct
34
-     */
35
-    public function testConstructorFull()
36
-    {
37
-        $object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
38
-
39
-        $this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
40
-
41
-        $this->assertSame(array(
42
-            'url' => 'http://example.test',
43
-            'description' => 'Descriptive text',
44
-        ), $object->toArray());
45
-    }
46
-
47
-    /**
48
-     * @covers \SwaggerGen\Swagger\ExternalDocumentation::handleCommand
49
-     */
50
-    public function testCommandUrl()
51
-    {
52
-        $object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
53
-
54
-        $this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
55
-
56
-        $object->handleCommand('url', 'http://other.test');
57
-
58
-        $this->assertSame(array(
59
-            'url' => 'http://other.test',
60
-            'description' => 'Descriptive text',
61
-        ), $object->toArray());
62
-    }
63
-
64
-    /**
65
-     * @covers \SwaggerGen\Swagger\ExternalDocumentation::handleCommand
66
-     */
67
-    public function testCommandDescription()
68
-    {
69
-        $object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
70
-
71
-        $this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
72
-
73
-        $object->handleCommand('description', 'Some other words');
74
-
75
-        $this->assertSame(array(
76
-            'url' => 'http://example.test',
77
-            'description' => 'Some other words',
78
-        ), $object->toArray());
79
-    }
6
+	protected $parent;
7
+
8
+	protected function setUp(): void
9
+	{
10
+		$this->parent = $this->getMockForAbstractClass('\SwaggerGen\Swagger\AbstractObject');
11
+	}
12
+
13
+	protected function assertPreConditions(): void
14
+	{
15
+		$this->assertInstanceOf('\SwaggerGen\Swagger\AbstractObject', $this->parent);
16
+	}
17
+
18
+	/**
19
+	 * @covers \SwaggerGen\Swagger\ExternalDocumentation::__construct
20
+	 */
21
+	public function testConstructorUrl(): void
22
+	{
23
+		$object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test');
24
+
25
+		$this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
26
+
27
+		$this->assertSame(array(
28
+			'url' => 'http://example.test',
29
+		), $object->toArray());
30
+	}
31
+
32
+	/**
33
+	 * @covers \SwaggerGen\Swagger\ExternalDocumentation::__construct
34
+	 */
35
+	public function testConstructorFull()
36
+	{
37
+		$object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
38
+
39
+		$this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
40
+
41
+		$this->assertSame(array(
42
+			'url' => 'http://example.test',
43
+			'description' => 'Descriptive text',
44
+		), $object->toArray());
45
+	}
46
+
47
+	/**
48
+	 * @covers \SwaggerGen\Swagger\ExternalDocumentation::handleCommand
49
+	 */
50
+	public function testCommandUrl()
51
+	{
52
+		$object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
53
+
54
+		$this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
55
+
56
+		$object->handleCommand('url', 'http://other.test');
57
+
58
+		$this->assertSame(array(
59
+			'url' => 'http://other.test',
60
+			'description' => 'Descriptive text',
61
+		), $object->toArray());
62
+	}
63
+
64
+	/**
65
+	 * @covers \SwaggerGen\Swagger\ExternalDocumentation::handleCommand
66
+	 */
67
+	public function testCommandDescription()
68
+	{
69
+		$object = new \SwaggerGen\Swagger\ExternalDocumentation($this->parent, 'http://example.test', 'Descriptive text');
70
+
71
+		$this->assertInstanceOf('\SwaggerGen\Swagger\ExternalDocumentation', $object);
72
+
73
+		$object->handleCommand('description', 'Some other words');
74
+
75
+		$this->assertSame(array(
76
+			'url' => 'http://example.test',
77
+			'description' => 'Some other words',
78
+		), $object->toArray());
79
+	}
80 80
 
81 81
 }
Please login to merge, or discard this patch.