]> granicus.if.org Git - php/commitdiff
add new tests by Ligaya Turmelle
authorAntony Dovgal <tony2001@php.net>
Tue, 11 Jul 2006 21:28:07 +0000 (21:28 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 11 Jul 2006 21:28:07 +0000 (21:28 +0000)
ext/standard/tests/array/array_fill.phpt [new file with mode: 0644]
ext/standard/tests/array/array_filter.phpt [new file with mode: 0644]
ext/standard/tests/array/array_flip.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/array/array_fill.phpt b/ext/standard/tests/array/array_fill.phpt
new file mode 100644 (file)
index 0000000..f714d33
--- /dev/null
@@ -0,0 +1,710 @@
+--TEST--
+basic array_fill test
+--FILE--
+<?php
+$array1 = array(0.0, 1, 2.5);
+$array2 = array(TRUE, FALSE, NULL, "d", "e", "f");
+foreach($array1 as $start)
+{
+   foreach($array1 as $num)
+   {
+      foreach($array2 as $value)
+      {
+         echo '==========================='."\n";
+        echo 'start: '.$start.' num: '.$num.' value: '.$value."\n";
+        $output = array_fill($start, $num, $value);
+        var_dump($output);
+      }
+   }
+}
+echo '== Done ==';
+?>
+===============Done====================
+--EXPECTF--
+===========================
+start: 0 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 1 value: 1
+array(1) {
+  [0]=>
+  bool(true)
+}
+===========================
+start: 0 num: 1 value: 
+array(1) {
+  [0]=>
+  bool(false)
+}
+===========================
+start: 0 num: 1 value: 
+array(1) {
+  [0]=>
+  NULL
+}
+===========================
+start: 0 num: 1 value: d
+array(1) {
+  [0]=>
+  string(1) "d"
+}
+===========================
+start: 0 num: 1 value: e
+array(1) {
+  [0]=>
+  string(1) "e"
+}
+===========================
+start: 0 num: 1 value: f
+array(1) {
+  [0]=>
+  string(1) "f"
+}
+===========================
+start: 0 num: 2.5 value: 1
+array(2) {
+  [0]=>
+  bool(true)
+  [1]=>
+  bool(true)
+}
+===========================
+start: 0 num: 2.5 value: 
+array(2) {
+  [0]=>
+  bool(false)
+  [1]=>
+  bool(false)
+}
+===========================
+start: 0 num: 2.5 value: 
+array(2) {
+  [0]=>
+  NULL
+  [1]=>
+  NULL
+}
+===========================
+start: 0 num: 2.5 value: d
+array(2) {
+  [0]=>
+  string(1) "d"
+  [1]=>
+  string(1) "d"
+}
+===========================
+start: 0 num: 2.5 value: e
+array(2) {
+  [0]=>
+  string(1) "e"
+  [1]=>
+  string(1) "e"
+}
+===========================
+start: 0 num: 2.5 value: f
+array(2) {
+  [0]=>
+  string(1) "f"
+  [1]=>
+  string(1) "f"
+}
+===========================
+start: 1 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 1 value: 1
+array(1) {
+  [1]=>
+  bool(true)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  bool(false)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  NULL
+}
+===========================
+start: 1 num: 1 value: d
+array(1) {
+  [1]=>
+  string(1) "d"
+}
+===========================
+start: 1 num: 1 value: e
+array(1) {
+  [1]=>
+  string(1) "e"
+}
+===========================
+start: 1 num: 1 value: f
+array(1) {
+  [1]=>
+  string(1) "f"
+}
+===========================
+start: 1 num: 2.5 value: 1
+array(2) {
+  [1]=>
+  bool(true)
+  [2]=>
+  bool(true)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  bool(false)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  NULL
+  [2]=>
+  NULL
+}
+===========================
+start: 1 num: 2.5 value: d
+array(2) {
+  [1]=>
+  string(1) "d"
+  [2]=>
+  string(1) "d"
+}
+===========================
+start: 1 num: 2.5 value: e
+array(2) {
+  [1]=>
+  string(1) "e"
+  [2]=>
+  string(1) "e"
+}
+===========================
+start: 1 num: 2.5 value: f
+array(2) {
+  [1]=>
+  string(1) "f"
+  [2]=>
+  string(1) "f"
+}
+===========================
+start: 2.5 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 1 value: 1
+array(1) {
+  [2]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  NULL
+}
+===========================
+start: 2.5 num: 1 value: d
+array(1) {
+  [2]=>
+  string(1) "d"
+}
+===========================
+start: 2.5 num: 1 value: e
+array(1) {
+  [2]=>
+  string(1) "e"
+}
+===========================
+start: 2.5 num: 1 value: f
+array(1) {
+  [2]=>
+  string(1) "f"
+}
+===========================
+start: 2.5 num: 2.5 value: 1
+array(2) {
+  [2]=>
+  bool(true)
+  [3]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  bool(false)
+  [3]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  NULL
+  [3]=>
+  NULL
+}
+===========================
+start: 2.5 num: 2.5 value: d
+array(2) {
+  [2]=>
+  string(1) "d"
+  [3]=>
+  string(1) "d"
+}
+===========================
+start: 2.5 num: 2.5 value: e
+array(2) {
+  [2]=>
+  string(1) "e"
+  [3]=>
+  string(1) "e"
+}
+===========================
+start: 2.5 num: 2.5 value: f
+array(2) {
+  [2]=>
+  string(1) "f"
+  [3]=>
+  string(1) "f"
+}
+== Done =================Done====================
+--UEXPECTF--
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 0.00000000000000E+000 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0.00000000000000E+000 num: 1 value: 1
+array(1) {
+  [0]=>
+  bool(true)
+}
+===========================
+start: 0.00000000000000E+000 num: 1 value: 
+array(1) {
+  [0]=>
+  bool(false)
+}
+===========================
+start: 0.00000000000000E+000 num: 1 value: 
+array(1) {
+  [0]=>
+  NULL
+}
+===========================
+start: 0.00000000000000E+000 num: 1 value: d
+array(1) {
+  [0]=>
+  unicode(1) "d"
+}
+===========================
+start: 0.00000000000000E+000 num: 1 value: e
+array(1) {
+  [0]=>
+  unicode(1) "e"
+}
+===========================
+start: 0.00000000000000E+000 num: 1 value: f
+array(1) {
+  [0]=>
+  unicode(1) "f"
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: 1
+array(2) {
+  [0]=>
+  bool(true)
+  [1]=>
+  bool(true)
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: 
+array(2) {
+  [0]=>
+  bool(false)
+  [1]=>
+  bool(false)
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: 
+array(2) {
+  [0]=>
+  NULL
+  [1]=>
+  NULL
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: d
+array(2) {
+  [0]=>
+  unicode(1) "d"
+  [1]=>
+  unicode(1) "d"
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: e
+array(2) {
+  [0]=>
+  unicode(1) "e"
+  [1]=>
+  unicode(1) "e"
+}
+===========================
+start: 0.00000000000000E+000 num: 2.5 value: f
+array(2) {
+  [0]=>
+  unicode(1) "f"
+  [1]=>
+  unicode(1) "f"
+}
+===========================
+start: 1 num: 0.00000000000000E+000 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0.00000000000000E+000 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0.00000000000000E+000 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0.00000000000000E+000 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 1 value: 1
+array(1) {
+  [1]=>
+  bool(true)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  bool(false)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  NULL
+}
+===========================
+start: 1 num: 1 value: d
+array(1) {
+  [1]=>
+  unicode(1) "d"
+}
+===========================
+start: 1 num: 1 value: e
+array(1) {
+  [1]=>
+  unicode(1) "e"
+}
+===========================
+start: 1 num: 1 value: f
+array(1) {
+  [1]=>
+  unicode(1) "f"
+}
+===========================
+start: 1 num: 2.5 value: 1
+array(2) {
+  [1]=>
+  bool(true)
+  [2]=>
+  bool(true)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  bool(false)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  NULL
+  [2]=>
+  NULL
+}
+===========================
+start: 1 num: 2.5 value: d
+array(2) {
+  [1]=>
+  unicode(1) "d"
+  [2]=>
+  unicode(1) "d"
+}
+===========================
+start: 1 num: 2.5 value: e
+array(2) {
+  [1]=>
+  unicode(1) "e"
+  [2]=>
+  unicode(1) "e"
+}
+===========================
+start: 1 num: 2.5 value: f
+array(2) {
+  [1]=>
+  unicode(1) "f"
+  [2]=>
+  unicode(1) "f"
+}
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0.00000000000000E+000 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 1 value: 1
+array(1) {
+  [2]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  NULL
+}
+===========================
+start: 2.5 num: 1 value: d
+array(1) {
+  [2]=>
+  unicode(1) "d"
+}
+===========================
+start: 2.5 num: 1 value: e
+array(1) {
+  [2]=>
+  unicode(1) "e"
+}
+===========================
+start: 2.5 num: 1 value: f
+array(1) {
+  [2]=>
+  unicode(1) "f"
+}
+===========================
+start: 2.5 num: 2.5 value: 1
+array(2) {
+  [2]=>
+  bool(true)
+  [3]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  bool(false)
+  [3]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  NULL
+  [3]=>
+  NULL
+}
+===========================
+start: 2.5 num: 2.5 value: d
+array(2) {
+  [2]=>
+  unicode(1) "d"
+  [3]=>
+  unicode(1) "d"
+}
+===========================
+start: 2.5 num: 2.5 value: e
+array(2) {
+  [2]=>
+  unicode(1) "e"
+  [3]=>
+  unicode(1) "e"
+}
+===========================
+start: 2.5 num: 2.5 value: f
+array(2) {
+  [2]=>
+  unicode(1) "f"
+  [3]=>
+  unicode(1) "f"
+}
+== Done =================Done====================
diff --git a/ext/standard/tests/array/array_filter.phpt b/ext/standard/tests/array/array_filter.phpt
new file mode 100644 (file)
index 0000000..3c21931
--- /dev/null
@@ -0,0 +1,152 @@
+--TEST--
+basic array_filter test
+--FILE--
+<?php
+function odd($var)
+{
+   return($var & 1);
+}
+
+function even($var)
+{
+   return(!($var & 1));
+}
+
+$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
+$array2 = array(6, 7, 8, 9, 10, 11, 12, 0);
+$array3 = array(TRUE, FALSE, NULL);
+
+echo "Odd :\n";
+var_dump(array_filter($array1, "odd"));
+var_dump(array_filter($array2, "odd"));
+var_dump(array_filter($array3, "odd"));
+echo "Even:\n";
+var_dump(array_filter($array1, "even"));
+var_dump(array_filter($array2, "even"));
+var_dump(array_filter($array3, "even"));
+
+var_dump(array_filter(array()));
+var_dump(array_filter(array(), array()));
+var_dump(array_filter("", null));
+var_dump(array_filter($array1, 1));
+
+echo '== DONE ==';
+?> 
+--EXPECTF--
+Odd :
+array(3) {
+  ["a"]=>
+  int(1)
+  ["c"]=>
+  int(3)
+  ["e"]=>
+  int(5)
+}
+array(3) {
+  [1]=>
+  int(7)
+  [3]=>
+  int(9)
+  [5]=>
+  int(11)
+}
+array(1) {
+  [0]=>
+  bool(true)
+}
+Even:
+array(2) {
+  ["b"]=>
+  int(2)
+  ["d"]=>
+  int(4)
+}
+array(5) {
+  [0]=>
+  int(6)
+  [2]=>
+  int(8)
+  [4]=>
+  int(10)
+  [6]=>
+  int(12)
+  [7]=>
+  int(0)
+}
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  NULL
+}
+array(0) {
+}
+
+Warning: array_filter(): The second argument, 'Array', should be a valid callback in %s on line %d
+NULL
+
+Warning: array_filter(): The first argument should be an array in %s on line %d
+NULL
+
+Warning: array_filter(): The second argument, '1', should be a valid callback in %s on line %d
+NULL
+== DONE ==
+--UEXPECTF--
+Odd :
+array(3) {
+  [u"a"]=>
+  int(1)
+  [u"c"]=>
+  int(3)
+  [u"e"]=>
+  int(5)
+}
+array(3) {
+  [1]=>
+  int(7)
+  [3]=>
+  int(9)
+  [5]=>
+  int(11)
+}
+array(1) {
+  [0]=>
+  bool(true)
+}
+Even:
+array(2) {
+  [u"b"]=>
+  int(2)
+  [u"d"]=>
+  int(4)
+}
+array(5) {
+  [0]=>
+  int(6)
+  [2]=>
+  int(8)
+  [4]=>
+  int(10)
+  [6]=>
+  int(12)
+  [7]=>
+  int(0)
+}
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  NULL
+}
+array(0) {
+}
+
+Warning: array_filter(): The second argument, 'Array', should be a valid callback in %s on line %d
+NULL
+
+Warning: array_filter(): The first argument should be an array in %s on line %d
+NULL
+
+Warning: array_filter(): The second argument, '1', should be a valid callback in %s on line %d
+NULL
+== DONE ==
diff --git a/ext/standard/tests/array/array_flip.phpt b/ext/standard/tests/array/array_flip.phpt
new file mode 100644 (file)
index 0000000..c4b5339
--- /dev/null
@@ -0,0 +1,57 @@
+--TEST--
+basic array_flip test
+--FILE--
+<?php
+$trans = array("a" => 1, 
+               "b" => 1, 
+               "c" => 2, 
+               "z" => 0, 
+               "d" => TRUE, 
+               "E" => FALSE, 
+               "F" => NULL, 
+               0 => "G", 
+               1 => "h", 
+               2 => "i");
+$trans = array_flip($trans);
+var_dump($trans);
+?>
+--EXPECTF--
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+array(6) {
+  [1]=>
+  string(1) "b"
+  [2]=>
+  string(1) "c"
+  [0]=>
+  string(1) "z"
+  ["G"]=>
+  int(0)
+  ["h"]=>
+  int(1)
+  ["i"]=>
+  int(2)
+}
+--UEXPECTF--
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+array(6) {
+  [1]=>
+  unicode(1) "b"
+  [2]=>
+  unicode(1) "c"
+  [0]=>
+  unicode(1) "z"
+  [u"G"]=>
+  int(0)
+  [u"h"]=>
+  int(1)
+  [u"i"]=>
+  int(2)
+}