Skip to content

Commit 7fd9d8d

Browse files
committed
Add empty array as offset in tests
1 parent c93e68c commit 7fd9d8d

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

Zend/tests/offsets/array_container_offset_behaviour.phpt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,13 @@ empty():
7878
Cannot access offset of type %s in isset or empty
7979
Coalesce():
8080
Cannot access offset of type %s on array
81+
unset():
82+
Cannot unset offset of type %s on array
8183
8284
OUTPUT;
8385

86+
$EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX = '/^' . expectf_to_regex(EXPECTED_OUTPUT_INVALID_OFFSETS) . '$/s';
87+
8488
ob_start();
8589
foreach ($offsets as $dimension) {
8690
$container = [];
@@ -97,7 +101,7 @@ foreach ($offsets as $dimension) {
97101

98102
if (
99103
!preg_match($EXPECTED_OUTPUT_VALID_OFFSETS_REGEX, $varOutput)
100-
&& $varOutput !== EXPECTED_OUTPUT_INVALID_OFFSETS
104+
&& !preg_match($EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX, $varOutput)
101105
&& !preg_match($EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX, $varOutput)
102106
) {
103107
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . "debug_array_container_{$failuresNb}.txt", $varOutput);

Zend/tests/offsets/false_container_offset_behaviour.phpt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,12 @@ Cannot access offset of type %s in isset or empty
8383
Coalesce():
8484
Cannot access offset of type %s on array
8585
unset():
86-
Cannot unset offset in a non-array variable
86+
Cannot unset offset of type %s on array
8787
8888
OUTPUT;
8989

90+
$EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX = '/^' . expectf_to_regex(EXPECTED_OUTPUT_INVALID_OFFSETS) . '$/s';
91+
9092
ob_start();
9193
foreach ($offsets as $dimension) {
9294
$container = false;
@@ -103,7 +105,7 @@ foreach ($offsets as $dimension) {
103105

104106
if (
105107
$varOutput !== EXPECTED_OUTPUT_VALID_OFFSETS
106-
&& $varOutput !== EXPECTED_OUTPUT_INVALID_OFFSETS
108+
&& !preg_match($EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX, $varOutput)
107109
&& !preg_match($EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX, $varOutput)
108110
) {
109111
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . "debug_false_container_{$failuresNb}.txt", $varOutput);

Zend/tests/offsets/null_container_offset_behaviour.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,12 @@ Cannot access offset of type %s in isset or empty
7777
Coalesce():
7878
Cannot access offset of type %s on array
7979
unset():
80+
Cannot unset offset of type %s on array
8081
8182
OUTPUT;
8283

84+
$EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX = '/^' . expectf_to_regex(EXPECTED_OUTPUT_INVALID_OFFSETS) . '$/s';
85+
8386
ob_start();
8487
foreach ($offsets as $dimension) {
8588
$container = null;
@@ -96,7 +99,7 @@ foreach ($offsets as $dimension) {
9699

97100
if (
98101
$varOutput !== EXPECTED_OUTPUT_VALID_OFFSETS
99-
&& $varOutput !== EXPECTED_OUTPUT_INVALID_OFFSETS
102+
&& !preg_match($EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX, $varOutput)
100103
&& !preg_match($EXPECTED_OUTPUT_FLOAT_OFFSETS_REGEX, $varOutput)
101104
) {
102105
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . "debug_null_container_{$failuresNb}.txt", $varOutput);

Zend/tests/offsets/test_offset_helpers.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ function makeOffset($offset) {
4040
if ($offset === PHP_INT_MAX) {
4141
return "PHP_INT_MAX";
4242
}
43+
if (is_array($offset)) {
44+
return "[]";
45+
}
4346
return var_export($offset, true);
4447
}
4548

@@ -162,6 +165,7 @@ $offsets = [
162165
'-17.0',
163166
(string) PHP_INT_MAX * 2,
164167
(string) PHP_INT_MIN * 2,
168+
[],
165169
];
166170

167171
$failures = [];

0 commit comments

Comments
 (0)