Skip to content

Commit

Permalink
add new tests for array_keys() function
Browse files Browse the repository at this point in the history
  • Loading branch information
tony2001 committed Oct 5, 2015
1 parent d0c23bf commit 9ac0a83
Show file tree
Hide file tree
Showing 3 changed files with 239 additions and 0 deletions.
109 changes: 109 additions & 0 deletions ext/standard/tests/array/array_keys_non_strict.phpt
@@ -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)
}
65 changes: 65 additions & 0 deletions ext/standard/tests/array/array_keys_strict.phpt
@@ -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)
}
65 changes: 65 additions & 0 deletions ext/standard/tests/array/array_keys_strict_ref.phpt
@@ -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)
}

0 comments on commit 9ac0a83

Please sign in to comment.