From 5235b762e339ed1b86a561257f9104fb95033ffb Mon Sep 17 00:00:00 2001 From: andy wharmby Date: Sun, 18 Jan 2009 14:34:15 +0000 Subject: [PATCH] New explode() tests. Tested on Windows. Linux and Linux 64 bit --- ext/standard/tests/strings/explode_error.phpt | 37 +++ .../tests/strings/explode_variation1.phpt | 193 ++++++++++++++ .../tests/strings/explode_variation2.phpt | 195 ++++++++++++++ .../tests/strings/explode_variation3.phpt | 238 ++++++++++++++++++ .../tests/strings/explode_variation4.phpt | 36 +++ .../tests/strings/explode_variation5.phpt | 48 ++++ .../tests/strings/explode_variation6.phpt | 70 ++++++ 7 files changed, 817 insertions(+) create mode 100644 ext/standard/tests/strings/explode_error.phpt create mode 100644 ext/standard/tests/strings/explode_variation1.phpt create mode 100644 ext/standard/tests/strings/explode_variation2.phpt create mode 100644 ext/standard/tests/strings/explode_variation3.phpt create mode 100644 ext/standard/tests/strings/explode_variation4.phpt create mode 100644 ext/standard/tests/strings/explode_variation5.phpt create mode 100644 ext/standard/tests/strings/explode_variation6.phpt diff --git a/ext/standard/tests/strings/explode_error.phpt b/ext/standard/tests/strings/explode_error.phpt new file mode 100644 index 0000000000..19091650f6 --- /dev/null +++ b/ext/standard/tests/strings/explode_error.phpt @@ -0,0 +1,37 @@ +--TEST-- +Test explode() function : error conditions +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing explode() : error conditions *** + +-- Testing explode() function with no arguments -- + +Warning: explode() expects at least 2 parameters, 0 given in %s on line %d +NULL + +-- Testing explode() function with more than expected no. of arguments -- + +Warning: explode() expects at most 3 parameters, 4 given in %s on line %d +NULL +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation1.phpt b/ext/standard/tests/strings/explode_variation1.phpt new file mode 100644 index 0000000000..cb5fdfb808 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation1.phpt @@ -0,0 +1,193 @@ +--TEST-- +Test explode() function : usage variations - test values for $delimiter argument +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing explode() function: with unexpected inputs for 'delimiter' argument *** +-- Iteration 1 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 2 -- +array(2) { + [0]=> + unicode(5) "piece" + [1]=> + unicode(35) " piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 3 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 4 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 5 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 6 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 7 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 8 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 9 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 10 -- + +Warning: explode() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 11 -- + +Warning: explode() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 12 -- + +Warning: explode() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 13 -- +array(2) { + [0]=> + unicode(5) "piece" + [1]=> + unicode(35) " piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 14 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +-- Iteration 15 -- +array(2) { + [0]=> + unicode(5) "piece" + [1]=> + unicode(35) " piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 16 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +-- Iteration 17 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +-- Iteration 18 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +-- Iteration 19 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 20 -- + +Warning: explode() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d +NULL +-- Iteration 21 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +-- Iteration 22 -- + +Warning: explode(): Empty delimiter in %s on line %d +bool(false) +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation2.phpt b/ext/standard/tests/strings/explode_variation2.phpt new file mode 100644 index 0000000000..38ca7020a6 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation2.phpt @@ -0,0 +1,195 @@ +--TEST-- +Test explode() function : usage variations - test values for $string argument +--FILE-- + +===Done=== +--EXPECTF-- +*** Testing explode() function: with unexpected inputs for 'string' argument *** +-- Iteration 1 -- +array(1) { + [0]=> + unicode(1) "0" +} +-- Iteration 2 -- +array(1) { + [0]=> + unicode(1) "1" +} +-- Iteration 3 -- +array(1) { + [0]=> + unicode(3) "255" +} +-- Iteration 4 -- +array(1) { + [0]=> + unicode(3) "256" +} +-- Iteration 5 -- +array(1) { + [0]=> + unicode(10) "2147483647" +} +-- Iteration 6 -- +array(1) { + [0]=> + unicode(11) "-2147483648" +} +-- Iteration 7 -- +array(1) { + [0]=> + unicode(4) "10.5" +} +-- Iteration 8 -- +array(1) { + [0]=> + unicode(5) "-20.5" +} +-- Iteration 9 -- +array(1) { + [0]=> + unicode(10) "1012345.67" +} +-- Iteration 10 -- + +Warning: explode() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 11 -- + +Warning: explode() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 12 -- + +Warning: explode() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 13 -- +array(1) { + [0]=> + unicode(1) "1" +} +-- Iteration 14 -- +array(1) { + [0]=> + unicode(0) "" +} +-- Iteration 15 -- +array(1) { + [0]=> + unicode(1) "1" +} +-- Iteration 16 -- +array(1) { + [0]=> + unicode(0) "" +} +-- Iteration 17 -- +array(1) { + [0]=> + unicode(0) "" +} +-- Iteration 18 -- +array(1) { + [0]=> + unicode(0) "" +} +-- Iteration 19 -- +array(2) { + [0]=> + unicode(6) "sample" + [1]=> + unicode(6) "object" +} +-- Iteration 20 -- + +Warning: explode() expects parameter 2 to be string (Unicode or binary), resource given in %s on line %d +NULL +-- Iteration 21 -- +array(1) { + [0]=> + unicode(0) "" +} +-- Iteration 22 -- +array(1) { + [0]=> + unicode(0) "" +} +===Done=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation3.phpt b/ext/standard/tests/strings/explode_variation3.phpt new file mode 100644 index 0000000000..aca6ecaa98 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation3.phpt @@ -0,0 +1,238 @@ +--TEST-- +Test explode() function : usage variations - test values for $limit argument +--FILE-- + +===DONE=== +--EXPECTF-- +*** Testing explode() function: with unexpected inputs for 'limit' argument *** +-- Iteration 1 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 2 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 3 -- +array(6) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(6) "piece2" + [2]=> + unicode(6) "piece3" + [3]=> + unicode(6) "piece4" + [4]=> + unicode(6) "piece5" + [5]=> + unicode(6) "piece6" +} +-- Iteration 4 -- +array(6) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(6) "piece2" + [2]=> + unicode(6) "piece3" + [3]=> + unicode(6) "piece4" + [4]=> + unicode(6) "piece5" + [5]=> + unicode(6) "piece6" +} +-- Iteration 5 -- +array(6) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(6) "piece2" + [2]=> + unicode(6) "piece3" + [3]=> + unicode(6) "piece4" + [4]=> + unicode(6) "piece5" + [5]=> + unicode(6) "piece6" +} +-- Iteration 6 -- +array(0) { +} +-- Iteration 7 -- +array(6) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(6) "piece2" + [2]=> + unicode(6) "piece3" + [3]=> + unicode(6) "piece4" + [4]=> + unicode(6) "piece5" + [5]=> + unicode(6) "piece6" +} +-- Iteration 8 -- +array(0) { +} +-- Iteration 9 -- +array(6) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(6) "piece2" + [2]=> + unicode(6) "piece3" + [3]=> + unicode(6) "piece4" + [4]=> + unicode(6) "piece5" + [5]=> + unicode(6) "piece6" +} +-- Iteration 10 -- + +Warning: explode() expects parameter 3 to be long, array given in %s on line %d +NULL +-- Iteration 11 -- + +Warning: explode() expects parameter 3 to be long, array given in %s on line %d +NULL +-- Iteration 12 -- + +Warning: explode() expects parameter 3 to be long, array given in %s on line %d +NULL +-- Iteration 13 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 14 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 15 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 16 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 17 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 18 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 19 -- + +Warning: explode() expects parameter 3 to be long, object given in %s on line %d +NULL +-- Iteration 20 -- + +Warning: explode() expects parameter 3 to be long, resource given in %s on line %d +NULL +-- Iteration 21 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +-- Iteration 22 -- +array(1) { + [0]=> + unicode(41) "piece1 piece2 piece3 piece4 piece5 piece6" +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation4.phpt b/ext/standard/tests/strings/explode_variation4.phpt new file mode 100644 index 0000000000..cf883d4937 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation4.phpt @@ -0,0 +1,36 @@ +--TEST-- +Test explode() function : usage variations - match longer string +--FILE-- + +===DONE=== +--EXPECT-- +*** Testing explode() function: match longer string *** +array(7) { + [0]=> + unicode(6) "piece1" + [1]=> + unicode(5) "iece2" + [2]=> + unicode(5) "iece3" + [3]=> + unicode(5) "iece4" + [4]=> + unicode(5) "iece5" + [5]=> + unicode(5) "iece6" + [6]=> + unicode(0) "" +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation5.phpt b/ext/standard/tests/strings/explode_variation5.phpt new file mode 100644 index 0000000000..d3155837d4 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation5.phpt @@ -0,0 +1,48 @@ +--TEST-- +Test explode() function : usage variations - positive and negative limits +--FILE-- + +===DONE=== +--EXPECT-- +*** Testing explode() function: positive and negative limits *** + +-- positive limit -- +array(2) { + [0]=> + unicode(3) "one" + [1]=> + unicode(16) "two||three||four" +} + +-- negative limit (since PHP 5.1) -- +array(3) { + [0]=> + unicode(3) "one" + [1]=> + unicode(3) "two" + [2]=> + unicode(5) "three" +} + +-- negative limit (since PHP 5.1) with null string -- +array(0) { +} +===DONE=== \ No newline at end of file diff --git a/ext/standard/tests/strings/explode_variation6.phpt b/ext/standard/tests/strings/explode_variation6.phpt new file mode 100644 index 0000000000..551c974d87 --- /dev/null +++ b/ext/standard/tests/strings/explode_variation6.phpt @@ -0,0 +1,70 @@ +--TEST-- +Test explode() function : usage variations - misc tests +--FILE-- + +===DONE=== +--EXPECT-- +*** Testing explode() function: misc tests *** + +-- positive limit with null separator -- +unicode(6) "6f6e65" +unicode(28) "74776f00746872656500666f7572" + +-- negative limit (since PHP 5.1) with null separator -- +unicode(6) "6f6e65" +unicode(6) "74776f" + +-- unknown string -- +unicode(36) "6f6e650074776f00746872656500666f7572" + +-- limit = 0 -- +unicode(36) "6f6e650074776f00746872656500666f7572" + +-- limit = -1 -- +unicode(6) "6f6e65" +unicode(6) "74776f" +unicode(10) "7468726565" + +-- large limit = -100 -- +unicode(6) "6f6e65" +unicode(6) "74776f" +unicode(10) "7468726565" +unicode(8) "666f7572" +===DONE=== \ No newline at end of file -- 2.40.0