diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2015-05-31 21:35:21 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-05-31 21:35:21 +0200 |
commit | c1401ad7b6948248ce8c9a33f1acbc706baae923 (patch) | |
tree | 41e223511133732433b7ac66e25847b1a3597044 /ext/simplexml | |
parent | 4309f1661475ae34d9dd48d92eb219ee014b0fdb (diff) | |
download | php-git-c1401ad7b6948248ce8c9a33f1acbc706baae923.tar.gz |
split simplexml tests for 7
Diffstat (limited to 'ext/simplexml')
-rw-r--r-- | ext/simplexml/tests/SimpleXMLElement_xpath.phpt | 22 | ||||
-rw-r--r-- | ext/simplexml/tests/SimpleXMLElement_xpath_3.phpt | 21 | ||||
-rw-r--r-- | ext/simplexml/tests/SimpleXMLElement_xpath_4.phpt | 22 |
3 files changed, 53 insertions, 12 deletions
diff --git a/ext/simplexml/tests/SimpleXMLElement_xpath.phpt b/ext/simplexml/tests/SimpleXMLElement_xpath.phpt index 7926ceb6e1..fb7e6e90f0 100644 --- a/ext/simplexml/tests/SimpleXMLElement_xpath.phpt +++ b/ext/simplexml/tests/SimpleXMLElement_xpath.phpt @@ -1,17 +1,15 @@ --TEST-- Testing xpath() with invalid XML ---SKIPIF-- -<?php PHP_INT_SIZE == 4 or die("skip - 32-bit only"); --FILE-- <?php -$xml = simplexml_load_string("XXXXXXX^",$x,0x6000000000000001); -var_dump($xml->xpath("BBBB")); ---EXPECTF-- -Notice: Undefined variable: x in %s on line %d - -Warning: simplexml_load_string() expects parameter 3 to be integer, float given in %s on line %d +// gracefully recover from parsing of invalid XML; not available in PHP +const XML_PARSE_RECOVER = 1; -Fatal error: Uncaught EngineException: Call to a member function xpath() on null in %s:%d -Stack trace: -#0 {main} - thrown in %s on line %d +// we're not interested in checking concrete warnings regarding invalid XML +$xml = @simplexml_load_string("XXXXXXX^", 'SimpleXMLElement', XML_PARSE_RECOVER); + +// $xml is supposed to hold a SimpleXMLElement, but not FALSE/NULL +var_dump($xml->xpath("BBBB")); +?> +--EXPECT-- +bool(false) diff --git a/ext/simplexml/tests/SimpleXMLElement_xpath_3.phpt b/ext/simplexml/tests/SimpleXMLElement_xpath_3.phpt new file mode 100644 index 0000000000..e2997f19d1 --- /dev/null +++ b/ext/simplexml/tests/SimpleXMLElement_xpath_3.phpt @@ -0,0 +1,21 @@ +--TEST-- +Testing xpath() with invalid XML +--SKIPIF-- +<?php +if (PHP_MAJOR_VERSION < 7) die("skip this test is for PHP 7+ only"); +if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platforms only"); +?> +--FILE-- +<?php +$xml = simplexml_load_string("XXXXXXX^",$x,0x6000000000000001); +var_dump($xml->xpath("BBBB")); +?> +--EXPECTF-- +Notice: Undefined variable: x in %s on line %d + +Warning: simplexml_load_string() expects parameter 3 to be integer, float given in %s on line %d + +Fatal error: Uncaught EngineException: Call to a member function xpath() on null in %s:%d +Stack trace: +#0 {main} + thrown in %s on line %d diff --git a/ext/simplexml/tests/SimpleXMLElement_xpath_4.phpt b/ext/simplexml/tests/SimpleXMLElement_xpath_4.phpt new file mode 100644 index 0000000000..d4d709753f --- /dev/null +++ b/ext/simplexml/tests/SimpleXMLElement_xpath_4.phpt @@ -0,0 +1,22 @@ +--TEST-- +Testing xpath() with invalid XML +--SKIPIF-- +<?php +if (PHP_MAJOR_VERSION < 7) die("skip this test is for PHP 7+ only"); +if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platforms only"); +?> +--FILE-- +<?php +$xml = simplexml_load_string("XXXXXXX^",$x,0x6000000000000001); +var_dump($xml->xpath("BBBB")); +?> +--EXPECTF-- +Notice: Undefined variable: x in %s on line %d + +Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in %s on line %d + +Warning: simplexml_load_string(): XXXXXXX^ in %s on line %d + +Warning: simplexml_load_string(): ^ in %s on line %d +bool(false) + |