From fdf0a9e6a15ed7521a563fa995013009bba51219 Mon Sep 17 00:00:00 2001 From: Raghubansh Kumar Date: Fri, 7 Sep 2007 14:43:24 +0000 Subject: [PATCH] New testcases for ucwords() function --- ext/standard/tests/strings/ucwords_basic.phpt | 125 ++++++++ ext/standard/tests/strings/ucwords_error.phpt | 55 ++++ .../tests/strings/ucwords_variation1.phpt | 290 ++++++++++++++++++ .../tests/strings/ucwords_variation2.phpt | 125 ++++++++ .../tests/strings/ucwords_variation3.phpt | 136 ++++++++ .../tests/strings/ucwords_variation4.phpt | 185 +++++++++++ 6 files changed, 916 insertions(+) create mode 100644 ext/standard/tests/strings/ucwords_basic.phpt create mode 100644 ext/standard/tests/strings/ucwords_error.phpt create mode 100644 ext/standard/tests/strings/ucwords_variation1.phpt create mode 100644 ext/standard/tests/strings/ucwords_variation2.phpt create mode 100644 ext/standard/tests/strings/ucwords_variation3.phpt create mode 100644 ext/standard/tests/strings/ucwords_variation4.phpt diff --git a/ext/standard/tests/strings/ucwords_basic.phpt b/ext/standard/tests/strings/ucwords_basic.phpt new file mode 100644 index 0000000000..ba4264d1c2 --- /dev/null +++ b/ext/standard/tests/strings/ucwords_basic.phpt @@ -0,0 +1,125 @@ +--TEST-- +Test ucwords() function : basic functionality +--FILE-- + +--EXPECTF-- +*** Testing ucwords() : basic functionality *** +-- Iteration 1 -- +string(15) "Testing Ucwords" +-- Iteration 2 -- +string(15) "Testing Ucwords" +-- Iteration 3 -- +string(16) "Testing\tucwords" +-- Iteration 4 -- +string(15) "Testing Ucwords" +-- Iteration 5 -- +string(15) "Testing +Ucwords" +-- Iteration 6 -- +string(16) "Testing\nucwords" +-- Iteration 7 -- +string(16) "Testing\vucwords" +-- Iteration 8 -- +string(16) "Testing\vucwords" +-- Iteration 9 -- +string(7) "Testing" +-- Iteration 10 -- +string(7) "Testing" +-- Iteration 11 -- +string(8) " Testing" +-- Iteration 12 -- +string(8) " Testing" +-- Iteration 13 -- +string(16) "Testing Ucwords" +-- Iteration 14 -- +string(16) "Testing Ucwords" +-- Iteration 15 -- +string(16) "Testing\rucwords" +-- Iteration 16 -- +string(15) "Testing +Ucwords" +-- Iteration 17 -- +string(16) "Testing\fucwords" +-- Iteration 18 -- +string(16) "Testing\fucwords" +Done +--UEXPECTF-- +*** Testing ucwords() : basic functionality *** +-- Iteration 1 -- +unicode(15) "Testing Ucwords" +-- Iteration 2 -- +unicode(15) "Testing Ucwords" +-- Iteration 3 -- +unicode(16) "Testing\tucwords" +-- Iteration 4 -- +unicode(15) "Testing Ucwords" +-- Iteration 5 -- +unicode(15) "Testing +Ucwords" +-- Iteration 6 -- +unicode(16) "Testing\nucwords" +-- Iteration 7 -- +unicode(16) "Testing\vucwords" +-- Iteration 8 -- +unicode(16) "Testing\vucwords" +-- Iteration 9 -- +unicode(7) "Testing" +-- Iteration 10 -- +unicode(7) "Testing" +-- Iteration 11 -- +unicode(8) " Testing" +-- Iteration 12 -- +unicode(8) " Testing" +-- Iteration 13 -- +unicode(16) "Testing Ucwords" +-- Iteration 14 -- +unicode(16) "Testing Ucwords" +-- Iteration 15 -- +unicode(16) "Testing\rucwords" +-- Iteration 16 -- +unicode(15) "Testing +Ucwords" +-- Iteration 17 -- +unicode(16) "Testing\fucwords" +-- Iteration 18 -- +unicode(16) "Testing\fucwords" +Done diff --git a/ext/standard/tests/strings/ucwords_error.phpt b/ext/standard/tests/strings/ucwords_error.phpt new file mode 100644 index 0000000000..fe398cd812 --- /dev/null +++ b/ext/standard/tests/strings/ucwords_error.phpt @@ -0,0 +1,55 @@ +--TEST-- +Test ucwords() function : error conditions +--FILE-- + +--EXPECTF-- +*** Testing ucwords() : error conditions *** + +-- Testing ucwords() function with Zero arguments -- + +Warning: ucwords() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +-- Testing ucwords() function with more than expected no. of arguments -- + +Warning: ucwords() expects exactly 1 parameter, 2 given in %s on line %d +NULL +string(10) "string_val" +Done +--UEXPECTF-- +*** Testing ucwords() : error conditions *** + +-- Testing ucwords() function with Zero arguments -- + +Warning: ucwords() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +-- Testing ucwords() function with more than expected no. of arguments -- + +Warning: ucwords() expects exactly 1 parameter, 2 given in %s on line %d +NULL +unicode(10) "string_val" +Done diff --git a/ext/standard/tests/strings/ucwords_variation1.phpt b/ext/standard/tests/strings/ucwords_variation1.phpt new file mode 100644 index 0000000000..5cd93b029b --- /dev/null +++ b/ext/standard/tests/strings/ucwords_variation1.phpt @@ -0,0 +1,290 @@ +--TEST-- +Test ucwords() function : usage variations - unexpected input values +--FILE-- + 'red', 'item' => 'pen'), + + // boolean values + true, + false, + TRUE, + FALSE, + + // objects + new my(), + + // empty string + "", + '', + + //NULL + NULL, + null, + + // hex in string + "0x123", + '0x123', + "0xFF12", + "-0xFF12", + + // undefined variable + @$undefined_var, + + // unset variable + @$unset_var, + + // resource variable + $fp +); + +// loop through each element of the array and check the working of ucwords() +// when $str arugment is supplied with different values +echo "\n--- Testing ucwords() by supplying different values for 'str' argument ---\n"; +$counter = 1; +for($index = 0; $index < count($values); $index ++) { + echo "-- Iteration $counter --\n"; + $str = $values [$index]; + + var_dump( ucwords($str) ); + + $counter ++; +} + +// close the file handle +fclose($fp); +echo "Done\n"; +?> +--EXPECTF-- +*** Testing ucwords() : usage variations *** + +--- Testing ucwords() by supplying different values for 'str' argument --- +-- Iteration 1 -- +string(1) "0" +-- Iteration 2 -- +string(1) "1" +-- Iteration 3 -- +string(5) "12345" +-- Iteration 4 -- +string(5) "-2345" +-- Iteration 5 -- +string(2) "16" +-- Iteration 6 -- +string(2) "32" +-- Iteration 7 -- +string(3) "170" +-- Iteration 8 -- +string(4) "-245" +-- Iteration 9 -- +string(2) "83" +-- Iteration 10 -- +string(4) "-226" +-- Iteration 11 -- +string(4) "10.5" +-- Iteration 12 -- +string(5) "-10.5" +-- Iteration 13 -- +string(12) "105000000000" +-- Iteration 14 -- +string(7) "1.06E-9" +-- Iteration 15 -- +string(3) "0.5" +-- Iteration 16 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 17 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 18 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 19 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 20 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 21 -- +string(1) "1" +-- Iteration 22 -- +string(0) "" +-- Iteration 23 -- +string(1) "1" +-- Iteration 24 -- +string(0) "" +-- Iteration 25 -- +string(8) "MyString" +-- Iteration 26 -- +string(0) "" +-- Iteration 27 -- +string(0) "" +-- Iteration 28 -- +string(0) "" +-- Iteration 29 -- +string(0) "" +-- Iteration 30 -- +string(5) "0x123" +-- Iteration 31 -- +string(5) "0x123" +-- Iteration 32 -- +string(6) "0xFF12" +-- Iteration 33 -- +string(7) "-0xFF12" +-- Iteration 34 -- +string(0) "" +-- Iteration 35 -- +string(0) "" +-- Iteration 36 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d +NULL +Done +--UEXPECTF-- +*** Testing ucwords() : usage variations *** + +--- Testing ucwords() by supplying different values for 'str' argument --- +-- Iteration 1 -- +unicode(1) "0" +-- Iteration 2 -- +unicode(1) "1" +-- Iteration 3 -- +unicode(5) "12345" +-- Iteration 4 -- +unicode(5) "-2345" +-- Iteration 5 -- +unicode(2) "16" +-- Iteration 6 -- +unicode(2) "32" +-- Iteration 7 -- +unicode(3) "170" +-- Iteration 8 -- +unicode(4) "-245" +-- Iteration 9 -- +unicode(2) "83" +-- Iteration 10 -- +unicode(4) "-226" +-- Iteration 11 -- +unicode(4) "10.5" +-- Iteration 12 -- +unicode(5) "-10.5" +-- Iteration 13 -- +unicode(12) "105000000000" +-- Iteration 14 -- +unicode(7) "1.06E-9" +-- Iteration 15 -- +unicode(3) "0.5" +-- Iteration 16 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 17 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 18 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 19 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 20 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 21 -- +unicode(1) "1" +-- Iteration 22 -- +unicode(0) "" +-- Iteration 23 -- +unicode(1) "1" +-- Iteration 24 -- +unicode(0) "" +-- Iteration 25 -- +unicode(8) "MyString" +-- Iteration 26 -- +unicode(0) "" +-- Iteration 27 -- +unicode(0) "" +-- Iteration 28 -- +unicode(0) "" +-- Iteration 29 -- +unicode(0) "" +-- Iteration 30 -- +unicode(5) "0x123" +-- Iteration 31 -- +unicode(5) "0x123" +-- Iteration 32 -- +unicode(6) "0xFF12" +-- Iteration 33 -- +unicode(7) "-0xFF12" +-- Iteration 34 -- +unicode(0) "" +-- Iteration 35 -- +unicode(0) "" +-- Iteration 36 -- + +Warning: ucwords() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d +NULL +Done diff --git a/ext/standard/tests/strings/ucwords_variation2.phpt b/ext/standard/tests/strings/ucwords_variation2.phpt new file mode 100644 index 0000000000..9301cb442c --- /dev/null +++ b/ext/standard/tests/strings/ucwords_variation2.phpt @@ -0,0 +1,125 @@ +--TEST-- +Test ucwords() function : usage variations - heredoc strings +--FILE-- + +--EXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +string(0) "" +-- Iteration 2 -- +string(0) "" +-- Iteration 3 -- +string(52) "Testing Ucword() With +Multiline String Using +Heredoc" +-- Iteration 4 -- +string(96) "Testing +Ucword(str) With +Multiline String Using +Heredoc +String.with\vdifferent\fwhite\vspaces" +-- Iteration 5 -- +string(53) "12sting 123string 4567 +String 123string +12 Test +5test" +-- Iteration 6 -- +string(108) "It's Bright,but I Cann't See It. +"things In Double Quote" +'things In Single Quote' +This\line Is /with\slashs" +Done +--UEXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +unicode(0) "" +-- Iteration 2 -- +unicode(0) "" +-- Iteration 3 -- +unicode(52) "Testing Ucword() With +Multiline String Using +Heredoc" +-- Iteration 4 -- +unicode(96) "Testing +Ucword(str) With +Multiline String Using +Heredoc +String.with\vdifferent\fwhite\vspaces" +-- Iteration 5 -- +unicode(53) "12sting 123string 4567 +String 123string +12 Test +5test" +-- Iteration 6 -- +unicode(108) "It's Bright,but I Cann't See It. +"things In Double Quote" +'things In Single Quote' +This\line Is /with\slashs" +Done diff --git a/ext/standard/tests/strings/ucwords_variation3.phpt b/ext/standard/tests/strings/ucwords_variation3.phpt new file mode 100644 index 0000000000..700e8d8fef --- /dev/null +++ b/ext/standard/tests/strings/ucwords_variation3.phpt @@ -0,0 +1,136 @@ +--TEST-- +Test ucwords() function : usage variations - single quoted string +--FILE-- + +--EXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +string(18) "Testing Ucwords" +-- Iteration 2 -- +string(30) "T E S T I N G U C W O R D S " +-- Iteration 3 -- +string(25) "Testing Function(ucwords)" +-- Iteration 4 -- +string(38) "(testing ( Function (ucwords) )a )test" +-- Iteration 5 -- +string(3) "(t)" +-- Iteration 6 -- +string(7) " ( T )t" +-- Iteration 7 -- +string(24) ""testing",ucwords,"test"" +-- Iteration 8 -- +string(14) ""t""t",test, T" +-- Iteration 9 -- +string(11) "'t 't',test" +-- Iteration 10 -- +string(27) "\ttesting\ttesting\tucwords" +-- Iteration 11 -- +string(32) "Testing\rucwords Testing Ucwords" +-- Iteration 12 -- +string(37) "Testing\fucwords \f Testing \nucwords" +-- Iteration 13 -- +string(39) "\ntesting\nucwords\n Testing \n Ucwords" +-- Iteration 14 -- +string(20) "Using\vvertical\vtab" +-- Iteration 15 -- +string(42) "T@@#$% %test ^test &test *test +test -test" +-- Iteration 16 -- +string(40) "!test ~test `test` =test= @test@test.com" +-- Iteration 17 -- +string(40) "/test/r\test\ Ucwords\t\y\yu\3 \yy\ /uu/" +-- Iteration 18 -- +string(16) "!@#$%^&*()_+=-`~" +Done +--UEXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +unicode(18) "Testing Ucwords" +-- Iteration 2 -- +unicode(30) "T E S T I N G U C W O R D S " +-- Iteration 3 -- +unicode(25) "Testing Function(ucwords)" +-- Iteration 4 -- +unicode(38) "(testing ( Function (ucwords) )a )test" +-- Iteration 5 -- +unicode(3) "(t)" +-- Iteration 6 -- +unicode(7) " ( T )t" +-- Iteration 7 -- +unicode(24) ""testing",ucwords,"test"" +-- Iteration 8 -- +unicode(14) ""t""t",test, T" +-- Iteration 9 -- +unicode(11) "'t 't',test" +-- Iteration 10 -- +unicode(27) "\ttesting\ttesting\tucwords" +-- Iteration 11 -- +unicode(32) "Testing\rucwords Testing Ucwords" +-- Iteration 12 -- +unicode(37) "Testing\fucwords \f Testing \nucwords" +-- Iteration 13 -- +unicode(39) "\ntesting\nucwords\n Testing \n Ucwords" +-- Iteration 14 -- +unicode(20) "Using\vvertical\vtab" +-- Iteration 15 -- +unicode(42) "T@@#$% %test ^test &test *test +test -test" +-- Iteration 16 -- +unicode(40) "!test ~test `test` =test= @test@test.com" +-- Iteration 17 -- +unicode(40) "/test/r\test\ Ucwords\t\y\yu\3 \yy\ /uu/" +-- Iteration 18 -- +unicode(16) "!@#$%^&*()_+=-`~" +Done diff --git a/ext/standard/tests/strings/ucwords_variation4.phpt b/ext/standard/tests/strings/ucwords_variation4.phpt new file mode 100644 index 0000000000..231487ca4a --- /dev/null +++ b/ext/standard/tests/strings/ucwords_variation4.phpt @@ -0,0 +1,185 @@ +--TEST-- +Test ucwords() function : usage variations - double quoted string +--FILE-- + +--EXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +string(18) "Testing Ucwords" +-- Iteration 2 -- +string(30) "T E S T I N G U C W O R D S " +-- Iteration 3 -- +string(25) "Testing Function(ucwords)" +-- Iteration 4 -- +string(38) "(testing ( Function (ucwords) )a )test" +-- Iteration 5 -- +string(3) "(t)" +-- Iteration 6 -- +string(7) " ( T )t" +-- Iteration 7 -- +string(24) ""testing",ucwords,"test"" +-- Iteration 8 -- +string(14) ""t""t",test, T" +-- Iteration 9 -- +string(14) "\'t \'t\',test" +-- Iteration 10 -- +string(10) "Jack's Pen" +-- Iteration 11 -- +string(14) "P't'y 't It's " +-- Iteration 12 -- +string(24) " Testing Testing Ucwords" +-- Iteration 13 -- +string(26) "\ttesting\ttesting Ucwords" +-- Iteration 14 -- +string(31) "Testing +Ucwords Testing Ucwords" +-- Iteration 15 -- +string(32) "Testing\rucwords Testing Ucwords" +-- Iteration 16 -- +string(36) "Testing\fucwords \f Testing +Ucwords" +-- Iteration 17 -- +string(36) "Testing\fucwords \f Testing +Ucwords" +-- Iteration 18 -- +string(35) " +Testing +Ucwords + Testing + Ucwords" +-- Iteration 19 -- +string(39) "\ntesting\nucwords\n Testing \n Ucwords" +-- Iteration 20 -- +string(20) "Using\vvertical\vtab" +-- Iteration 21 -- +string(20) "Using\vvertical\vtab" +-- Iteration 22 -- +string(42) "T@@#$% %test ^test &test *test +test -test" +-- Iteration 23 -- +string(40) "!test ~test `test` =test= @test@test.com" +-- Iteration 24 -- +string(36) "/test/r Est\ Ucwords \y\y \yy\ /uu/" +-- Iteration 25 -- +string(16) "!@#$%^&*()_+=-`~" +Done +--UEXPECTF-- +*** Testing ucwords() : usage variations *** +-- Iteration 1 -- +unicode(18) "Testing Ucwords" +-- Iteration 2 -- +unicode(30) "T E S T I N G U C W O R D S " +-- Iteration 3 -- +unicode(25) "Testing Function(ucwords)" +-- Iteration 4 -- +unicode(38) "(testing ( Function (ucwords) )a )test" +-- Iteration 5 -- +unicode(3) "(t)" +-- Iteration 6 -- +unicode(7) " ( T )t" +-- Iteration 7 -- +unicode(24) ""testing",ucwords,"test"" +-- Iteration 8 -- +unicode(14) ""t""t",test, T" +-- Iteration 9 -- +unicode(14) "\'t \'t\',test" +-- Iteration 10 -- +unicode(10) "Jack's Pen" +-- Iteration 11 -- +unicode(14) "P't'y 't It's " +-- Iteration 12 -- +unicode(24) " Testing Testing Ucwords" +-- Iteration 13 -- +unicode(26) "\ttesting\ttesting Ucwords" +-- Iteration 14 -- +unicode(31) "Testing +Ucwords Testing Ucwords" +-- Iteration 15 -- +unicode(32) "Testing\rucwords Testing Ucwords" +-- Iteration 16 -- +unicode(36) "Testing\fucwords \f Testing +Ucwords" +-- Iteration 17 -- +unicode(36) "Testing\fucwords \f Testing +Ucwords" +-- Iteration 18 -- +unicode(35) " +Testing +Ucwords + Testing + Ucwords" +-- Iteration 19 -- +unicode(39) "\ntesting\nucwords\n Testing \n Ucwords" +-- Iteration 20 -- +unicode(20) "Using\vvertical\vtab" +-- Iteration 21 -- +unicode(20) "Using\vvertical\vtab" +-- Iteration 22 -- +unicode(42) "T@@#$% %test ^test &test *test +test -test" +-- Iteration 23 -- +unicode(40) "!test ~test `test` =test= @test@test.com" +-- Iteration 24 -- +unicode(36) "/test/r Est\ Ucwords \y\y \yy\ /uu/" +-- Iteration 25 -- +unicode(16) "!@#$%^&*()_+=-`~" +Done -- 2.40.0