summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2015-05-26 22:34:46 +0200
committerAnatol Belski <ab@php.net>2015-05-29 20:43:36 +0200
commit8e5b906459f362a6974c5337eabf257650b4a579 (patch)
tree9a7d486df36aaa83c076d054a02b58d52d648cae
parentdb4a6def475375986e40783824952118421e37db (diff)
downloadphp-git-8e5b906459f362a6974c5337eabf257650b4a579.tar.gz
added tests for bug #61335, bug #67572 and bug #68946 (the latter already passing, but better safe than sorry)
-rw-r--r--ext/simplexml/tests/bug61335.phpt19
-rw-r--r--ext/simplexml/tests/bug67572.phpt33
-rw-r--r--ext/simplexml/tests/bug68946.phpt16
3 files changed, 68 insertions, 0 deletions
diff --git a/ext/simplexml/tests/bug61335.phpt b/ext/simplexml/tests/bug61335.phpt
new file mode 100644
index 0000000000..d2b9477ceb
--- /dev/null
+++ b/ext/simplexml/tests/bug61335.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #61335 - Access to array node returns wrong truth value
+--SKIPIF--
+<?php
+if (!extension_loaded("simplexml")) die("skip SimpleXML not available");
+?>
+--FILE--
+<?php
+$rec1 = simplexml_load_string("<foo><bar>aa</bar>\n</foo>");
+$rec2 = simplexml_load_string("<foo><bar>aa</bar></foo>");
+
+if ($rec1->bar[0]) echo "NONEMPTY1\n";
+if ($rec1->bar[0] . "") echo "NONEMPTY2\n";
+if ($rec2->bar[0]) echo "NONEMPTY3\n";
+?>
+--EXPECT--
+NONEMPTY1
+NONEMPTY2
+NONEMPTY3
diff --git a/ext/simplexml/tests/bug67572.phpt b/ext/simplexml/tests/bug67572.phpt
new file mode 100644
index 0000000000..4631f16142
--- /dev/null
+++ b/ext/simplexml/tests/bug67572.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Bug #67572 - SimpleXMLElement not parsing \n correctly
+--SKIPIF--
+<?php
+if (!extension_loaded("simplexml")) die("skip SimpleXML not available");
+?>
+--FILE--
+<?php
+$foo = 'bar';
+print "regular string ... ";
+var_dump(empty($foo));
+
+$xml = simplexml_load_string("<xml><something>somevalue</something></xml>");
+$xml2 = simplexml_load_string("<xml>\n<something>somevalue</something>\n</xml>");
+
+foreach($xml as $key => $value) {
+ print "$key = $value ... ";
+ var_dump(empty($value));
+ var_dump($value == false);
+}
+
+foreach($xml2 as $key => $value) {
+ print "$key = $value ... ";
+ var_dump(empty($value));
+ var_dump($value == false);
+}
+?>
+--EXPECT--
+regular string ... bool(false)
+something = somevalue ... bool(false)
+bool(false)
+something = somevalue ... bool(false)
+bool(false)
diff --git a/ext/simplexml/tests/bug68946.phpt b/ext/simplexml/tests/bug68946.phpt
new file mode 100644
index 0000000000..bd6c11b73b
--- /dev/null
+++ b/ext/simplexml/tests/bug68946.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #68946 - simplexml_load_string() result depends on formatting of xml string
+--SKIPIF--
+<?php
+if (!extension_loaded("simplexml")) die("skip SimpleXML not available");
+?>
+--FILE--
+<?php
+$sxe = simplexml_load_string("<?BrightCloud version=bcap/1.1?><bcap><seqnum>1</seqnum></bcap>");
+var_dump($sxe == false);
+$sxe = simplexml_load_string("<?BrightCloud version=bcap/1.1?><bcap> <seqnum>1</seqnum></bcap>");
+var_dump($sxe == false);
+?>
+--EXPECT--
+bool(false)
+bool(false)