Commit: 92bbe6be722209189e6f84b8ea2127949567d95e Author: Antonio Diaz Ruiz <dejalat...@gmail.com> Mon, 15 Apr 2013 23:30:58 +0200 Committer: Xinchen Hui <larue...@php.net> Sun, 21 Apr 2013 11:05:59 +0800 Parents: ba292b037f58c6cb0ef090936811cc658eadd26f Branches: PHP-5.4 PHP-5.5
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=92bbe6be722209189e6f84b8ea2127949567d95e Log: Includes 5 new phpTests to check that the error message DOM_NOT_FOUND is properly raised by the method DOMNode::insertBefore(newNode, [refNode]). Each file covers a different test case DOMNode_insertBefore_error2.phpt: refNode is a sibling of the node where newNode wanted to be inserted. DOMNode_insertBefore_error3.phpt: refNode is the parent of the node where newNode wanted to be inserted. DOMNode_insertBefore_error4.phpt: refNode is a brand new node. DOMNode_insertBefore_error5.phpt: refNode is a descendant (not child) of the node where newNode wanted to be inserted. DOMNode_insertBefore_error6.phpt: refNode is the node where newNode wanted to be inserted. Changed paths: M ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt 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/DOMDocument_validate_on_parse_variation.phpt b/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt index d0cea29..4dfafa2 100644 --- a/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt +++ b/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt @@ -13,7 +13,7 @@ require_once('skipif.inc'); require_once('dom_test.inc'); chdir(__DIR__); -$XMLStringGood = file_get_contents('note.xml'); +$XMLStringGood = file_get_contents(dirname(__FILE__).'/note.xml'); $dom = new DOMDocument; $dom->resolveExternals = TRUE; diff --git a/ext/dom/tests/DOMNode_insertBefore_error2.phpt b/ext/dom/tests/DOMNode_insertBefore_error2.phpt new file mode 100644 index 0000000..5d389f5 --- /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(dirname(__FILE__) . "/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('$new_node !== 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..0d70a56 --- /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(dirname(__FILE__) . "/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('$new_node !== 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..d063c54 --- /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(dirname(__FILE__) . "/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('$new_node !== 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..36cc557 --- /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(dirname(__FILE__) . "/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('$new_node !== 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..1fb3a96 --- /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(dirname(__FILE__) . "/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('$new_node !== 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