Commit: a67ce3026218f8428d18b8e00fc8ba760ec8b096 Author: Antonio Diaz Ruiz <dejalat...@gmail.com> Mon, 15 Apr 2013 23:30:58 +0200 Parents: 279285598d79384143ef350f76192c816061ca7c Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a67ce3026218f8428d18b8e00fc8ba760ec8b096 Log: PHP tests to check the DOM_NOT_FOUND error message is properly raised by the DOMNode::insertBefore method Changed paths: A ext/dom/tests/DOMNode_insertBefore_error2.phpt A ext/dom/tests/DOMNode_insertBefore_error3.phpt A ext/dom/tests/DOMNode_insertBefore_error4.phpt A ext/dom/tests/DOMNode_insertBefore_error5.phpt A ext/dom/tests/DOMNode_insertBefore_error6.phpt Diff: diff --git a/ext/dom/tests/DOMNode_insertBefore_error2.phpt b/ext/dom/tests/DOMNode_insertBefore_error2.phpt new file mode 100644 index 0000000..eb0c691 --- /dev/null +++ b/ext/dom/tests/DOMNode_insertBefore_error2.phpt @@ -0,0 +1,38 @@ +--TEST-- +Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised +--DESCRIPTION-- +DOMNode::insertBefore(newNode, [refNode]) +DOM_NOT_FOUND is raised if refnode is not a child +This test checks the error message is raised when the refnode is a sibling +--CREDITS-- +Antonio Diaz Ruiz <dejalat...@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$dom = new DOMDocument(); + +$doc = $dom->load("book.xml", LIBXML_NOBLANKS); +assert('$doc === true'); + +$parent_node = $dom->getElementsByTagName("book")->item(0); +assert('!is_null($parent_node)'); + +$new_node = $dom->createElement('newnode'); +assert('$doc !== false'); + +// getting a sibling as reference node to insert + +$ref_node = $dom->getElementsByTagName("book")->item(1); + +try { + $parent_node->insertBefore($new_node, $ref_node); +} catch(DOMException $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Not Found Error diff --git a/ext/dom/tests/DOMNode_insertBefore_error3.phpt b/ext/dom/tests/DOMNode_insertBefore_error3.phpt new file mode 100644 index 0000000..fcb7f8c --- /dev/null +++ b/ext/dom/tests/DOMNode_insertBefore_error3.phpt @@ -0,0 +1,39 @@ +--TEST-- +Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised +--DESCRIPTION-- +DOMNode::insertBefore(newNode, [refNode]) +DOM_NOT_FOUND is raised if refnode is not a child +This test checks the error message is raised when refnode is the parent node +--CREDITS-- +Antonio Diaz Ruiz <dejalat...@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$dom = new DOMDocument(); + +$doc = $dom->load("book.xml", LIBXML_NOBLANKS); +assert('$doc === true'); + +$parent_node = $dom->getElementsByTagName("book")->item(0); +assert('!is_null($parent_node)'); + +$new_node = $dom->createElement('newnode'); +assert('$doc !== false'); + +// getting the parent node as reference node to insert + +$ref_node = $dom->getElementsByTagName("book")->item(0)->parentNode; +assert('!is_null($ref_node)'); + +try { + $parent_node->insertBefore($new_node, $ref_node); +} catch(DOMException $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Not Found Error diff --git a/ext/dom/tests/DOMNode_insertBefore_error4.phpt b/ext/dom/tests/DOMNode_insertBefore_error4.phpt new file mode 100644 index 0000000..4a1ec96 --- /dev/null +++ b/ext/dom/tests/DOMNode_insertBefore_error4.phpt @@ -0,0 +1,38 @@ +--TEST-- +Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised +--DESCRIPTION-- +DOMNode::insertBefore(newNode, [refNode]) +DOM_NOT_FOUND is raised if refnode is not a child +This test checks the error message is raised when the refnode is a brand new node +--CREDITS-- +Antonio Diaz Ruiz <dejalat...@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$dom = new DOMDocument(); + +$doc = $dom->load("book.xml", LIBXML_NOBLANKS); +assert('$doc === true'); + +$parent_node = $dom->getElementsByTagName("book")->item(0); +assert('!is_null($parent_node)'); + +$new_node = $dom->createElement('newnode'); +assert('$doc !== false'); + +// could be a brand new node + +$ref_node = $dom->createElement('newnode2'); + +try { + $parent_node->insertBefore($new_node, $ref_node); +} catch(DOMException $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Not Found Error diff --git a/ext/dom/tests/DOMNode_insertBefore_error5.phpt b/ext/dom/tests/DOMNode_insertBefore_error5.phpt new file mode 100644 index 0000000..6474624 --- /dev/null +++ b/ext/dom/tests/DOMNode_insertBefore_error5.phpt @@ -0,0 +1,40 @@ +--TEST-- +Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised +--DESCRIPTION-- +DOMNode::insertBefore(newNode, [refNode]) +DOM_NOT_FOUND is raised if refnode is not a child +This test checks the error message is raised when the refnode is a descendant but not a child +--CREDITS-- +Antonio Diaz Ruiz <dejalat...@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$dom = new DOMDocument(); + +$doc = $dom->load("book.xml", LIBXML_NOBLANKS); +assert('$doc === true'); + +$parent_node = $dom->getElementsByTagName("book")->item(0); +assert('!is_null($parent_node)'); + +$new_node = $dom->createElement('newnode'); +assert('$doc !== false'); + +// creating a new node (descendant) and getting it as the refnode + +$ref_node = $dom->createElement('newnode3'); +$parent_node->childNodes->item(0)->appendChild($ref_node); +$dom->saveXML(); + +try { + $parent_node->insertBefore($new_node, $ref_node); +} catch(DOMException $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Not Found Error diff --git a/ext/dom/tests/DOMNode_insertBefore_error6.phpt b/ext/dom/tests/DOMNode_insertBefore_error6.phpt new file mode 100644 index 0000000..77baffa --- /dev/null +++ b/ext/dom/tests/DOMNode_insertBefore_error6.phpt @@ -0,0 +1,35 @@ +--TEST-- +Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised +--DESCRIPTION-- +DOMNode::insertBefore(newNode, [refNode]) +DOM_NOT_FOUND is raised if refnode is not a child +This test checks the error message is raised when the refnode is the parent +--CREDITS-- +Antonio Diaz Ruiz <dejalat...@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$dom = new DOMDocument(); + +$doc = $dom->load("book.xml", LIBXML_NOBLANKS); +assert('$doc === true'); + +$parent_node = $dom->getElementsByTagName("book")->item(0); +assert('!is_null($parent_node)'); +$ref_node = $parent_node; + +$new_node = $dom->createElement('newnode'); +assert('$doc !== false'); + +try { + $parent_node->insertBefore($new_node, $ref_node); +} catch(DOMException $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Not Found Error -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php