From a67ce3026218f8428d18b8e00fc8ba760ec8b096 Mon Sep 17 00:00:00 2001 From: Antonio Diaz Ruiz Date: Mon, 15 Apr 2013 23:30:58 +0200 Subject: [PATCH] PHP tests to check the DOM_NOT_FOUND error message is properly raised by the DOMNode::insertBefore method --- .../tests/DOMNode_insertBefore_error2.phpt | 38 ++++++++++++++++++ .../tests/DOMNode_insertBefore_error3.phpt | 39 ++++++++++++++++++ .../tests/DOMNode_insertBefore_error4.phpt | 38 ++++++++++++++++++ .../tests/DOMNode_insertBefore_error5.phpt | 40 +++++++++++++++++++ .../tests/DOMNode_insertBefore_error6.phpt | 35 ++++++++++++++++ 5 files changed, 190 insertions(+) create mode 100644 ext/dom/tests/DOMNode_insertBefore_error2.phpt create mode 100644 ext/dom/tests/DOMNode_insertBefore_error3.phpt create mode 100644 ext/dom/tests/DOMNode_insertBefore_error4.phpt create mode 100644 ext/dom/tests/DOMNode_insertBefore_error5.phpt create mode 100644 ext/dom/tests/DOMNode_insertBefore_error6.phpt diff --git a/ext/dom/tests/DOMNode_insertBefore_error2.phpt b/ext/dom/tests/DOMNode_insertBefore_error2.phpt new file mode 100644 index 0000000000..eb0c691c70 --- /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 +--INI-- +assert.bail=true +--SKIPIF-- + +--FILE-- +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 0000000000..fcb7f8cf49 --- /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 +--INI-- +assert.bail=true +--SKIPIF-- + +--FILE-- +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 0000000000..4a1ec96d63 --- /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 +--INI-- +assert.bail=true +--SKIPIF-- + +--FILE-- +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 0000000000..6474624443 --- /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 +--INI-- +assert.bail=true +--SKIPIF-- + +--FILE-- +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 0000000000..77baffad6a --- /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 +--INI-- +assert.bail=true +--SKIPIF-- + +--FILE-- +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 -- 2.50.1