@@ -330,3 +330,29 @@ test(function () {
330330 Assert::false (Validators::is (3.14 , 'iterable ' ));
331331 Assert::false (Validators::is (new stdClass (), 'iterable ' ));
332332});
333+
334+
335+ test (function () {
336+ class Abc {}
337+
338+ Assert::true (Validators::is ([], 'int[] ' ));
339+ Assert::true (Validators::is (new ArrayIterator ([]), 'int[] ' ));
340+ Assert::false (Validators::is (1 , 'int[] ' ));
341+ Assert::false (Validators::is (2.15 , 'int[] ' ));
342+ Assert::true (Validators::is (2.15 , 'float|int[] ' ));
343+ Assert::true (Validators::is (2.15 , 'int[]|float ' ));
344+ Assert::true (Validators::is ([1 , 2 , 3 ], 'int[] ' ));
345+ Assert::false (Validators::is ([1 , 2 , 3 ], 'int[][] ' ));
346+ Assert::true (Validators::is ([[1 ], [2 , 3 ]], 'int[][] ' ));
347+ Assert::false (Validators::is ([1 , 2.15 , 3 ], 'int[] ' ));
348+ Assert::true (Validators::is ([1 , 2.15 , 3 ], 'number[] ' ));
349+
350+ Assert::true (Validators::is ([new Abc ], 'Abc[] ' ));
351+ Assert::false (Validators::is ([new Abc , new stdClass ], 'Abc[] ' ));
352+
353+ Assert::true (Validators::is (['ABCD ' , 'EFGH ' , 'IJKL ' ], 'string:4[] ' ));
354+ Assert::false (Validators::is (['ABCD ' , 'EFGH ' , 'IJKLM ' ], 'string:4[] ' ));
355+
356+ Assert::true (Validators::is ([['ABCD ' , 'EFGH ' ], ['IJKL ' ]], 'string:4[][] ' ));
357+ Assert::false (Validators::is ([['ABCD ' , 'EFGH ' ], ['IJKLM ' ]], 'string:4[][] ' ));
358+ });
0 commit comments