]> granicus.if.org Git - php/commitdiff
test case for Bug #30266
authorHartmut Holzgraefe <hholzgra@php.net>
Thu, 10 Feb 2005 22:55:52 +0000 (22:55 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Thu, 10 Feb 2005 22:55:52 +0000 (22:55 +0000)
ext/xml/tests/bug30266.phpt [new file with mode: 0644]

diff --git a/ext/xml/tests/bug30266.phpt b/ext/xml/tests/bug30266.phpt
new file mode 100644 (file)
index 0000000..ebc0a27
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+Bug #30266 (Invalid opcode 137/1/8)
+--FILE--
+<?php
+/*
+
+Currently (Feb 10, 2005) CVS HEAD fails with the following message:
+
+Fatal error: Invalid opcode 137/1/8. in /home/hartmut/projects/php/dev/head/ext/xml/tests/bug30266.php on line 22
+
+*/
+class XML_Parser
+{
+    public $dummy = "a";
+
+    function parse($data)
+    {
+        $parser = xml_parser_create();
+
+        xml_set_object($parser, $this);
+
+        xml_set_element_handler($parser, 'startHandler', 'endHandler');
+
+        xml_parse($parser, $data, true);
+
+        xml_parser_free($parser);
+    }
+
+    function startHandler($XmlParser, $tag, $attr)
+    {
+            $this->dummy = "b";
+                   throw new Exception("ex");
+    }
+
+    function endHandler($XmlParser, $tag)
+    {
+    }
+}
+
+$p1 = new Xml_Parser();
+try {
+    $p1->parse('<tag1><tag2></tag2></tag1>'); 
+} catch (Exception $e) {
+       echo "OK\n";
+}
+?>
+--EXPECT--
+OK