summaryrefslogtreecommitdiff
path: root/ext/spl/tests/bug61347.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/bug61347.phpt')
-rw-r--r--ext/spl/tests/bug61347.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/spl/tests/bug61347.phpt b/ext/spl/tests/bug61347.phpt
new file mode 100644
index 0000000..cb09185
--- /dev/null
+++ b/ext/spl/tests/bug61347.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Bug #61347 (inconsist isset behavior of Arrayobject)
+--FILE--
+<?php
+$a = array('b' => NULL, 37 => NULL);
+var_dump(isset($a['b'])); //false
+
+$b = new ArrayObject($a);
+var_dump(isset($b['b'])); //false
+var_dump(isset($b[37])); //false
+var_dump(isset($b['no_exists'])); //false
+var_dump(empty($b['b'])); //true
+var_dump(empty($b[37])); //true
+
+var_dump(array_key_exists('b', $b)); //true
+var_dump($b['b']);
+
+$a = array('b' => '', 37 => false);
+$b = new ArrayObject($a);
+var_dump(isset($b['b'])); //true
+var_dump(isset($b[37])); //true
+var_dump(isset($b['no_exists'])); //false
+var_dump(empty($b['b'])); //true
+var_dump(empty($b[37])); //true
+
+
+--EXPECT--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(true)
+bool(true)
+NULL
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(true)