]> granicus.if.org Git - php/commitdiff
New test for strtok
authorFelipe Pena <felipe@php.net>
Sat, 9 Feb 2008 18:12:45 +0000 (18:12 +0000)
committerFelipe Pena <felipe@php.net>
Sat, 9 Feb 2008 18:12:45 +0000 (18:12 +0000)
ext/standard/tests/strings/bug44075.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/strings/bug44075.phpt b/ext/standard/tests/strings/bug44075.phpt
new file mode 100644 (file)
index 0000000..b103020
--- /dev/null
@@ -0,0 +1,110 @@
+--TEST--
+Bug #44075 (strtok misbehaving)
+--FILE--
+<?php
+
+$str  = '1-2';
+var_dump(strtok($str, '-'));
+var_dump(strtok('-'));
+
+print "\n----\n";
+
+$str  = '1-2-3';
+$stok = strtok($str, '-');
+
+do {
+       var_dump($stok);
+} while ($stok = strtok('  '));
+
+print "\n----\n";
+
+$str  = '1--2--3';
+
+var_dump(strtok($str, '--'));
+var_dump(strtok('--'));
+
+while ($stok = strtok(' ')) {
+       var_dump($stok);
+}
+
+print "\n----\n";
+
+$str  = '1-  2-3';
+$stok = strtok($str, '-');
+
+do {
+       var_dump($stok);
+} while ($stok = strtok('  '));
+
+print "\n----\n";
+
+$str  = '1-  
+2-3';
+$stok = strtok($str, '-');
+
+do {
+       var_dump($stok);
+} while ($stok = strtok('  '));
+
+print "\n----\n";
+
+$str  = '1- -- 2-3';
+$stok = strtok($str, '-');
+
+do {
+       var_dump($stok);
+} while ($stok = strtok('  '));
+
+?>
+--EXPECT--
+string(1) "1"
+string(1) "2"
+
+----
+string(1) "1"
+string(3) "2-3"
+
+----
+string(1) "1"
+string(1) "2"
+string(2) "-3"
+
+----
+string(1) "1"
+string(3) "2-3"
+
+----
+string(1) "1"
+string(4) "
+2-3"
+
+----
+string(1) "1"
+string(2) "--"
+string(3) "2-3"
+--UEXPECT--
+unicode(1) "1"
+unicode(1) "2"
+
+----
+unicode(1) "1"
+unicode(3) "2-3"
+
+----
+unicode(1) "1"
+unicode(1) "2"
+unicode(2) "-3"
+
+----
+unicode(1) "1"
+unicode(3) "2-3"
+
+----
+unicode(1) "1"
+unicode(4) "
+2-3"
+
+----
+unicode(1) "1"
+unicode(2) "--"
+unicode(3) "2-3"