diff options
Diffstat (limited to 'ext/xml/tests/bug30266.phpt')
-rw-r--r-- | ext/xml/tests/bug30266.phpt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/xml/tests/bug30266.phpt b/ext/xml/tests/bug30266.phpt new file mode 100644 index 0000000..0a3a5ca --- /dev/null +++ b/ext/xml/tests/bug30266.phpt @@ -0,0 +1,52 @@ +--TEST-- +Bug #30266 (Invalid opcode 137/1/8) +--SKIPIF-- +<?php +require_once("skipif.inc"); +?> +--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 |