Skip to content

Commit 3318310

Browse files
committed
Generate tests for object container and check output
1 parent 943b35b commit 3318310

29 files changed

+56
-315
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
--TEST--
2+
object containers behaviour with offsets
3+
--FILE--
4+
<?php
5+
6+
require_once __DIR__ . DIRECTORY_SEPARATOR . 'test_offset_helpers.inc';
7+
8+
const EXPECTED_OUTPUT = <<<OUTPUT
9+
Read before write:
10+
Cannot use object of type stdClass as array
11+
Write:
12+
Cannot use object of type stdClass as array
13+
Read:
14+
Cannot use object of type stdClass as array
15+
Read-Write:
16+
Cannot use object of type stdClass as array
17+
isset():
18+
Cannot use object of type stdClass as array
19+
empty():
20+
Cannot use object of type stdClass as array
21+
Coalesce():
22+
Cannot use object of type stdClass as array
23+
24+
OUTPUT;
25+
26+
ob_start();
27+
foreach ($offsets as $dimension) {
28+
$container = new stdClass();
29+
$error = '(new stdClass())[' . makeOffset($dimension) . '] has different outputs' . "\n";
30+
31+
include $var_dim_filename;
32+
$varOutput = ob_get_contents();
33+
ob_clean();
34+
$varOutput = str_replace(
35+
[$var_dim_filename],
36+
['%s'],
37+
$varOutput
38+
);
39+
40+
if ($varOutput !== EXPECTED_OUTPUT) {
41+
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . "debug_object_container_{$failuresNb}.txt", $varOutput);
42+
++$failuresNb;
43+
$failures[] = $error;
44+
}
45+
++$testCasesTotal;
46+
}
47+
ob_end_clean();
48+
49+
echo "Executed $testCasesTotal tests\n";
50+
if ($failures !== []) {
51+
echo "Failures:\n" . implode($failures);
52+
}
53+
54+
?>
55+
--EXPECT--
56+
Executed 21 tests

Zend/tests/offsets/objects/const_dimension/array_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/false_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/float_with_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/float_without_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/int_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/null_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/object_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/resource_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/string_non_numeric_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/string_numeric_float_with_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/string_numeric_float_without_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/string_numeric_int_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/const_dimension/true_offset_behaviour.phpt

Lines changed: 0 additions & 11 deletions
This file was deleted.

Zend/tests/offsets/objects/container_var.inc

Lines changed: 0 additions & 2 deletions
This file was deleted.

Zend/tests/offsets/objects/expect.txt

Lines changed: 0 additions & 14 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/array_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/false_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/float_with_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/float_without_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/int_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/null_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/object_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/resource_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/string_non_numeric_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/string_numeric_float_with_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/string_numeric_float_without_fractional_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/string_numeric_int_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

Zend/tests/offsets/objects/var_dimension/true_offset_behaviour.phpt

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)