summaryrefslogtreecommitdiff
path: root/tests/lang
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-03-22 02:41:49 +0300
committerDmitry Stogov <dmitry@zend.com>2018-03-22 02:41:49 +0300
commitd7f2dc4ec651628e10213625db6aee3559e214a9 (patch)
tree1f5a570cf9c6d101c4e59f9ab0b6ce61abc9339c /tests/lang
parent88b42338b324c50cc9d2f145df949e4e2cc82ae7 (diff)
downloadphp-git-d7f2dc4ec651628e10213625db6aee3559e214a9.tar.gz
Improve HashTable iterators handling:
- Avoid iterators check/update on each HashTable update opration - Keep position equal (or above) nNumUsed instead of HT_INVALID_IDX - Fixed iterators handling in array_unshift()
Diffstat (limited to 'tests/lang')
-rw-r--r--tests/lang/foreachLoop.013.phpt35
-rw-r--r--tests/lang/foreachLoop.015.phpt35
2 files changed, 44 insertions, 26 deletions
diff --git a/tests/lang/foreachLoop.013.phpt b/tests/lang/foreachLoop.013.phpt
index ba1bc89628..cd1e0af96e 100644
--- a/tests/lang/foreachLoop.013.phpt
+++ b/tests/lang/foreachLoop.013.phpt
@@ -488,18 +488,21 @@ array(3) {
}
--> Do loop:
iteration 0: $k=0; $v=v.0
- iteration 1: $k=3; $v=v.2
+ iteration 1: $k=2; $v=v.1
+ iteration 2: $k=4; $v=v.2
--> State of array after loop:
-array(5) {
+array(6) {
[0]=>
- string(5) "new.1"
+ string(5) "new.2"
[1]=>
- string(5) "new.0"
+ string(5) "new.1"
[2]=>
- string(3) "v.0"
+ string(5) "new.0"
[3]=>
- string(3) "v.1"
+ string(3) "v.0"
[4]=>
+ string(3) "v.1"
+ [5]=>
&string(3) "v.2"
}
@@ -517,19 +520,25 @@ array(4) {
}
--> Do loop:
iteration 0: $k=0; $v=v.0
- iteration 1: $k=4; $v=v.3
+ iteration 1: $k=2; $v=v.1
+ iteration 2: $k=4; $v=v.2
+ iteration 3: $k=6; $v=v.3
--> State of array after loop:
-array(6) {
+array(8) {
[0]=>
- string(5) "new.1"
+ string(5) "new.3"
[1]=>
- string(5) "new.0"
+ string(5) "new.2"
[2]=>
- string(3) "v.0"
+ string(5) "new.1"
[3]=>
- string(3) "v.1"
+ string(5) "new.0"
[4]=>
- string(3) "v.2"
+ string(3) "v.0"
[5]=>
+ string(3) "v.1"
+ [6]=>
+ string(3) "v.2"
+ [7]=>
&string(3) "v.3"
}
diff --git a/tests/lang/foreachLoop.015.phpt b/tests/lang/foreachLoop.015.phpt
index f7f5389395..13333ccf4d 100644
--- a/tests/lang/foreachLoop.015.phpt
+++ b/tests/lang/foreachLoop.015.phpt
@@ -490,18 +490,21 @@ array(3) {
}
--> Do loop:
iteration 0: $k=0; $v=v.0
- iteration 1: $k=3; $v=v.2
+ iteration 1: $k=2; $v=v.1
+ iteration 2: $k=4; $v=v.2
--> State of array after loop:
-array(5) {
+array(6) {
[0]=>
- string(5) "new.1"
+ string(5) "new.2"
[1]=>
- string(5) "new.0"
+ string(5) "new.1"
[2]=>
- string(3) "v.0"
+ string(5) "new.0"
[3]=>
- string(3) "v.1"
+ string(3) "v.0"
[4]=>
+ string(3) "v.1"
+ [5]=>
&string(3) "v.2"
}
@@ -519,19 +522,25 @@ array(4) {
}
--> Do loop:
iteration 0: $k=0; $v=v.0
- iteration 1: $k=4; $v=v.3
+ iteration 1: $k=2; $v=v.1
+ iteration 2: $k=4; $v=v.2
+ iteration 3: $k=6; $v=v.3
--> State of array after loop:
-array(6) {
+array(8) {
[0]=>
- string(5) "new.1"
+ string(5) "new.3"
[1]=>
- string(5) "new.0"
+ string(5) "new.2"
[2]=>
- string(3) "v.0"
+ string(5) "new.1"
[3]=>
- string(3) "v.1"
+ string(5) "new.0"
[4]=>
- string(3) "v.2"
+ string(3) "v.0"
[5]=>
+ string(3) "v.1"
+ [6]=>
+ string(3) "v.2"
+ [7]=>
&string(3) "v.3"
}