summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2003-03-15 23:37:17 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2003-03-15 23:37:17 +0000
commitba8e57b2cb5a8e3247e77c1758a490f94311e5dd (patch)
treed738a6fdb2fbd47d5f79ba76c99ba6f5a656c99a /tests
parente6633a9611b732cf6795009d00a547978f96c268 (diff)
downloadphp-git-ba8e57b2cb5a8e3247e77c1758a490f94311e5dd.tar.gz
Added test for bug22592
Diffstat (limited to 'tests')
-rw-r--r--tests/lang/bug22592.phpt53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/lang/bug22592.phpt b/tests/lang/bug22592.phpt
new file mode 100644
index 0000000000..e4e68b1184
--- /dev/null
+++ b/tests/lang/bug22592.phpt
@@ -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]