]> granicus.if.org Git - php/commitdiff
MFH
authorfoobar <sniper@php.net>
Fri, 18 Jul 2003 12:29:54 +0000 (12:29 +0000)
committerfoobar <sniper@php.net>
Fri, 18 Jul 2003 12:29:54 +0000 (12:29 +0000)
tests/lang/bug22592.phpt [new file with mode: 0644]

diff --git a/tests/lang/bug22592.phpt b/tests/lang/bug22592.phpt
new file mode 100644 (file)
index 0000000..e4e68b1
--- /dev/null
@@ -0,0 +1,53 @@
+--TEST--
+Bug #22592 (cascading assignments to strings with curly braces broken)
+--FILE--
+<?php
+function error_hdlr($errno, $errstr) {
+       echo "[$errstr]\n";
+}
+
+set_error_handler('error_hdlr');
+
+$i = 4;
+$s = "string";
+
+$result = "* *-*";
+var_dump($result);
+$result{6} = '*';
+var_dump($result);
+$result{1} = $i;
+var_dump($result);
+$result{3} = $s;
+var_dump($result);
+$result{7} = 0;
+var_dump($result);
+$a = $result{1} = $result{3} = '-';
+var_dump($result);
+$b = $result{3} = $result{5} = $s;
+var_dump($result);
+$c = $result{0} = $result{2} = $result{4} = $i;
+var_dump($result);
+$d = $result{6} = $result{8} = 5;
+var_dump($result);
+$e = $result{1} = $result{6};
+var_dump($result);
+var_dump($a, $b, $c, $d, $e);
+$result{-1} = 'a';
+?>
+--EXPECT--
+string(5) "* *-*"
+string(7) "* *-* *"
+string(7) "*4*-* *"
+string(7) "*4*s* *"
+string(8) "*4*s* *0"
+string(8) "*-*-* *0"
+string(8) "*-*s*s*0"
+string(8) "4-4s4s*0"
+string(9) "4-4s4s505"
+string(9) "454s4s505"
+string(1) "-"
+string(6) "string"
+int(4)
+int(5)
+string(1) "5"
+[Illegal string offset:  -1]