]> granicus.if.org Git - php/commitdiff
add new tests for array_keys() function
authorAntony Dovgal <tony2001@php.net>
Mon, 5 Oct 2015 09:52:22 +0000 (12:52 +0300)
committerAntony Dovgal <tony2001@php.net>
Mon, 5 Oct 2015 09:52:22 +0000 (12:52 +0300)
ext/standard/tests/array/array_keys_non_strict.phpt [new file with mode: 0644]
ext/standard/tests/array/array_keys_strict.phpt [new file with mode: 0644]
ext/standard/tests/array/array_keys_strict_ref.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/array/array_keys_non_strict.phpt b/ext/standard/tests/array/array_keys_non_strict.phpt
new file mode 100644 (file)
index 0000000..d418671
--- /dev/null
@@ -0,0 +1,109 @@
+--TEST--
+array_keys() in non-strict mode 
+--FILE--
+<?php
+
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = 1;
+var_dump(array_keys($arr, $s));
+
+$s = "1";
+var_dump(array_keys($arr, $s));
+
+$s = "";
+var_dump(array_keys($arr, $s));
+
+$s = NULL;
+var_dump(array_keys($arr, $s));
+
+$s = 0;
+var_dump(array_keys($arr, $s));
+
+$s = false;
+var_dump(array_keys($arr, $s));
+
+$s = true;
+var_dump(array_keys($arr, $s));
+
+$s = array();
+var_dump(array_keys($arr, $s));
+
+?>
+--EXPECTF--
+array(3) {
+  [0]=>
+  int(0)
+  [1]=>
+  int(1)
+  [2]=>
+  int(6)
+}
+array(3) {
+  [0]=>
+  int(0)
+  [1]=>
+  int(1)
+  [2]=>
+  int(6)
+}
+array(4) {
+  [0]=>
+  int(2)
+  [1]=>
+  int(3)
+  [2]=>
+  int(4)
+  [3]=>
+  int(5)
+}
+array(5) {
+  [0]=>
+  int(2)
+  [1]=>
+  int(3)
+  [2]=>
+  int(4)
+  [3]=>
+  int(5)
+  [4]=>
+  int(7)
+}
+array(4) {
+  [0]=>
+  int(2)
+  [1]=>
+  int(3)
+  [2]=>
+  int(4)
+  [3]=>
+  int(5)
+}
+array(5) {
+  [0]=>
+  int(2)
+  [1]=>
+  int(3)
+  [2]=>
+  int(4)
+  [3]=>
+  int(5)
+  [4]=>
+  int(7)
+}
+array(3) {
+  [0]=>
+  int(0)
+  [1]=>
+  int(1)
+  [2]=>
+  int(6)
+}
+array(3) {
+  [0]=>
+  int(3)
+  [1]=>
+  int(5)
+  [2]=>
+  int(7)
+}
diff --git a/ext/standard/tests/array/array_keys_strict.phpt b/ext/standard/tests/array/array_keys_strict.phpt
new file mode 100644 (file)
index 0000000..753ba3d
--- /dev/null
@@ -0,0 +1,65 @@
+--TEST--
+array_keys() in strict mode 
+--FILE--
+<?php
+
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = 1;
+var_dump(array_keys($arr, $s, true));
+
+$s = "1";
+var_dump(array_keys($arr, $s, true));
+
+$s = "";
+var_dump(array_keys($arr, $s, true));
+
+$s = NULL;
+var_dump(array_keys($arr, $s, true));
+
+$s = 0;
+var_dump(array_keys($arr, $s, true));
+
+$s = false;
+var_dump(array_keys($arr, $s, true));
+
+$s = true;
+var_dump(array_keys($arr, $s, true));
+
+$s = array();
+var_dump(array_keys($arr, $s, true));
+
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  int(0)
+}
+array(1) {
+  [0]=>
+  int(1)
+}
+array(1) {
+  [0]=>
+  int(2)
+}
+array(1) {
+  [0]=>
+  int(3)
+}
+array(1) {
+  [0]=>
+  int(4)
+}
+array(1) {
+  [0]=>
+  int(5)
+}
+array(1) {
+  [0]=>
+  int(6)
+}
+array(1) {
+  [0]=>
+  int(7)
+}
diff --git a/ext/standard/tests/array/array_keys_strict_ref.phpt b/ext/standard/tests/array/array_keys_strict_ref.phpt
new file mode 100644 (file)
index 0000000..cac6f09
--- /dev/null
@@ -0,0 +1,65 @@
+--TEST--
+array_keys() in strict mode with references 
+--FILE--
+<?php
+
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = &$arr[0];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[1];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[2];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[3];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[4];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[5];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[6];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[7];
+var_dump(array_keys($arr, $s, true));
+
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  int(0)
+}
+array(1) {
+  [0]=>
+  int(1)
+}
+array(1) {
+  [0]=>
+  int(2)
+}
+array(1) {
+  [0]=>
+  int(3)
+}
+array(1) {
+  [0]=>
+  int(4)
+}
+array(1) {
+  [0]=>
+  int(5)
+}
+array(1) {
+  [0]=>
+  int(6)
+}
+array(1) {
+  [0]=>
+  int(7)
+}