mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
- New tests for compact()
# compact_variation1.phpt will fail until bug #29044 is fixed
This commit is contained in:
parent
7d17152cc2
commit
0cf88073f0
3 changed files with 230 additions and 0 deletions
134
ext/standard/tests/array/compact_basic.phpt
Normal file
134
ext/standard/tests/array/compact_basic.phpt
Normal file
|
@ -0,0 +1,134 @@
|
|||
--TEST--
|
||||
Test compact() function : basic functionality
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : proto array compact(mixed var_names [, mixed ...])
|
||||
* Description: Creates a hash containing variables and their values
|
||||
* Source code: ext/standard/array.c
|
||||
* Alias to functions:
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test basic functionality
|
||||
*/
|
||||
|
||||
echo "*** Testing compact() : basic functionality ***\n";
|
||||
|
||||
$a=1;
|
||||
$b=0.2;
|
||||
$c=true;
|
||||
$d=array("key"=>"val");
|
||||
$e=NULL;
|
||||
$f="string";
|
||||
|
||||
// simple array test
|
||||
var_dump (compact(array("a", "b", "c", "d", "e", "f")));
|
||||
// simple parameter test
|
||||
var_dump (compact("a", "b", "c", "d", "e", "f"));
|
||||
var_dump (compact(array("keyval"=>"a", "b"=>"b", "c"=>1)));
|
||||
|
||||
// cases which should not yield any output.
|
||||
var_dump (compact(array(10, 0.3, true, array(20), NULL)));
|
||||
var_dump (compact(10, 0.3, true, array(20), NULL));
|
||||
var_dump (compact(array("g")));
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
--EXPECT--
|
||||
*** Testing compact() : basic functionality ***
|
||||
array(6) {
|
||||
["a"]=>
|
||||
int(1)
|
||||
["b"]=>
|
||||
float(0.2)
|
||||
["c"]=>
|
||||
bool(true)
|
||||
["d"]=>
|
||||
array(1) {
|
||||
["key"]=>
|
||||
string(3) "val"
|
||||
}
|
||||
["e"]=>
|
||||
NULL
|
||||
["f"]=>
|
||||
string(6) "string"
|
||||
}
|
||||
array(6) {
|
||||
["a"]=>
|
||||
int(1)
|
||||
["b"]=>
|
||||
float(0.2)
|
||||
["c"]=>
|
||||
bool(true)
|
||||
["d"]=>
|
||||
array(1) {
|
||||
["key"]=>
|
||||
string(3) "val"
|
||||
}
|
||||
["e"]=>
|
||||
NULL
|
||||
["f"]=>
|
||||
string(6) "string"
|
||||
}
|
||||
array(2) {
|
||||
["a"]=>
|
||||
int(1)
|
||||
["b"]=>
|
||||
float(0.2)
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
Done
|
||||
--UEXPECT--
|
||||
*** Testing compact() : basic functionality ***
|
||||
array(6) {
|
||||
[u"a"]=>
|
||||
int(1)
|
||||
[u"b"]=>
|
||||
float(0.2)
|
||||
[u"c"]=>
|
||||
bool(true)
|
||||
[u"d"]=>
|
||||
array(1) {
|
||||
[u"key"]=>
|
||||
unicode(3) "val"
|
||||
}
|
||||
[u"e"]=>
|
||||
NULL
|
||||
[u"f"]=>
|
||||
unicode(6) "string"
|
||||
}
|
||||
array(6) {
|
||||
[u"a"]=>
|
||||
int(1)
|
||||
[u"b"]=>
|
||||
float(0.2)
|
||||
[u"c"]=>
|
||||
bool(true)
|
||||
[u"d"]=>
|
||||
array(1) {
|
||||
[u"key"]=>
|
||||
unicode(3) "val"
|
||||
}
|
||||
[u"e"]=>
|
||||
NULL
|
||||
[u"f"]=>
|
||||
unicode(6) "string"
|
||||
}
|
||||
array(2) {
|
||||
[u"a"]=>
|
||||
int(1)
|
||||
[u"b"]=>
|
||||
float(0.2)
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
array(0) {
|
||||
}
|
||||
Done
|
31
ext/standard/tests/array/compact_error.phpt
Normal file
31
ext/standard/tests/array/compact_error.phpt
Normal file
|
@ -0,0 +1,31 @@
|
|||
--TEST--
|
||||
Test compact() function : error conditions
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : proto array compact(mixed var_names [, mixed ...])
|
||||
* Description: Creates a hash containing variables and their values
|
||||
* Source code: ext/standard/array.c
|
||||
* Alias to functions:
|
||||
*/
|
||||
|
||||
/*
|
||||
* Error -tests test compact with zero arguments.
|
||||
*/
|
||||
|
||||
echo "*** Testing compact() : error conditions ***\n";
|
||||
|
||||
// Zero arguments
|
||||
echo "\n-- Testing compact() function with Zero arguments --\n";
|
||||
var_dump( compact() );
|
||||
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing compact() : error conditions ***
|
||||
|
||||
-- Testing compact() function with Zero arguments --
|
||||
|
||||
Warning: Wrong parameter count for compact() in %s on line %d
|
||||
NULL
|
||||
Done
|
65
ext/standard/tests/array/compact_variation1.phpt
Normal file
65
ext/standard/tests/array/compact_variation1.phpt
Normal file
|
@ -0,0 +1,65 @@
|
|||
--TEST--
|
||||
Test compact() function : usage variations - arrays containing references.
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : proto array compact(mixed var_names [, mixed ...])
|
||||
* Description: Creates a hash containing variables and their values
|
||||
* Source code: ext/standard/array.c
|
||||
* Alias to functions:
|
||||
*/
|
||||
|
||||
/*
|
||||
* compact variations - arrays with references
|
||||
*/
|
||||
|
||||
echo "*** Testing compact() : usage variations - arrays containg references ***\n";
|
||||
|
||||
$a=1;
|
||||
$b=2;
|
||||
$c=3;
|
||||
$string="c";
|
||||
$arr1=array ("a",&$arr1);
|
||||
$arr2=array ("a",array(array(array("b"))));
|
||||
$arr2[1][0][0][]=&$arr2;
|
||||
$arr2[1][0][0][]=&$arr2[1];
|
||||
$arr3=array(&$string);
|
||||
|
||||
var_dump (compact ($arr1));
|
||||
var_dump (compact ($arr2));
|
||||
var_dump (compact ($arr3));
|
||||
echo "Done";
|
||||
?>
|
||||
--EXPECT--
|
||||
*** Testing compact() : usage variations - arrays containg references ***
|
||||
array(1) {
|
||||
["a"]=>
|
||||
int(1)
|
||||
}
|
||||
array(2) {
|
||||
["a"]=>
|
||||
int(1)
|
||||
["b"]=>
|
||||
int(2)
|
||||
}
|
||||
array(1) {
|
||||
["c"]=>
|
||||
int(3)
|
||||
}
|
||||
Done
|
||||
--UEXPECT--
|
||||
*** Testing compact() : usage variations - arrays containg references ***
|
||||
array(1) {
|
||||
[u"a"]=>
|
||||
int(1)
|
||||
}
|
||||
array(2) {
|
||||
[u"a"]=>
|
||||
int(1)
|
||||
[u"b"]=>
|
||||
int(2)
|
||||
}
|
||||
array(1) {
|
||||
[u"c"]=>
|
||||
int(3)
|
||||
}
|
||||
Done
|
Loading…
Add table
Add a link
Reference in a new issue