From 4eb23b6687def3299148f5a7ade93f9c763655cd Mon Sep 17 00:00:00 2001 From: Sean Cannella Date: Wed, 24 Jul 2013 17:53:53 -0700 Subject: [PATCH] Revert "simplexml fixes for text children and casting" --- hphp/runtime/ext/ext_simplexml.cpp | 8 ++------ hphp/test/slow/simple_xml/boolean_cast.php | 7 ------- hphp/test/slow/simple_xml/boolean_cast.php.expect | 2 -- hphp/test/slow/simple_xml/text_children.php | 4 ---- hphp/test/slow/simple_xml/text_children.php.expect | 2 -- 5 files changed, 2 insertions(+), 21 deletions(-) delete mode 100644 hphp/test/slow/simple_xml/boolean_cast.php delete mode 100644 hphp/test/slow/simple_xml/boolean_cast.php.expect delete mode 100644 hphp/test/slow/simple_xml/text_children.php delete mode 100644 hphp/test/slow/simple_xml/text_children.php.expect diff --git a/hphp/runtime/ext/ext_simplexml.cpp b/hphp/runtime/ext/ext_simplexml.cpp index 32fabccef..67445f340 100644 --- a/hphp/runtime/ext/ext_simplexml.cpp +++ b/hphp/runtime/ext/ext_simplexml.cpp @@ -524,9 +524,7 @@ Object c_SimpleXMLElement::t_children(CStrRef ns /* = "" */, elem->m_is_text = m_is_text; elem->m_free_text = m_free_text; elem->m_is_children = true; - if (m_is_text) { - // text nodes don't have children - } else if (ns.empty()) { + if (ns.empty()) { elem->m_children.assignRef(m_children); } else { Array props = Array::Create(); @@ -875,9 +873,7 @@ Variant c_SimpleXMLElement::t___set(Variant name, Variant value) { } bool c_SimpleXMLElement::o_toBooleanImpl() const noexcept { - return (m_node || getDynProps().size()) && - (m_node->parent->type != XML_DOCUMENT_NODE || - m_children.toArray().size()); + return (m_node || getDynProps().size()); } int64_t c_SimpleXMLElement::o_toInt64Impl() const noexcept { diff --git a/hphp/test/slow/simple_xml/boolean_cast.php b/hphp/test/slow/simple_xml/boolean_cast.php deleted file mode 100644 index f80acc242..000000000 --- a/hphp/test/slow/simple_xml/boolean_cast.php +++ /dev/null @@ -1,7 +0,0 @@ -'); -var_dump((bool)$element); - -$element = new SimpleXMLElement(''); -var_dump((bool)$element->child); diff --git a/hphp/test/slow/simple_xml/boolean_cast.php.expect b/hphp/test/slow/simple_xml/boolean_cast.php.expect deleted file mode 100644 index 5d42d704e..000000000 --- a/hphp/test/slow/simple_xml/boolean_cast.php.expect +++ /dev/null @@ -1,2 +0,0 @@ -bool(false) -bool(true) diff --git a/hphp/test/slow/simple_xml/text_children.php b/hphp/test/slow/simple_xml/text_children.php deleted file mode 100644 index 4e2e72ec7..000000000 --- a/hphp/test/slow/simple_xml/text_children.php +++ /dev/null @@ -1,4 +0,0 @@ -world'); -var_dump($element->hello->children()); diff --git a/hphp/test/slow/simple_xml/text_children.php.expect b/hphp/test/slow/simple_xml/text_children.php.expect deleted file mode 100644 index 408dfe568..000000000 --- a/hphp/test/slow/simple_xml/text_children.php.expect +++ /dev/null @@ -1,2 +0,0 @@ -object(SimpleXMLElement)#4 (0) { -}