diff options
Diffstat (limited to 'ext/dom')
| -rw-r--r-- | ext/dom/element.c | 2 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_loadHTMLfile.phpt | 17 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_loadHTMLfile_error1.phpt | 18 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_loadHTMLfile_error2.phpt | 18 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_loadHTMLfile_variation1.phpt | 18 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_loadHTMLfile_variation2.phpt | 17 | ||||
| -rw-r--r-- | ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt | 2 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_insertBefore_error2.phpt | 38 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_insertBefore_error3.phpt | 39 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_insertBefore_error4.phpt | 38 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_insertBefore_error5.phpt | 40 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_insertBefore_error6.phpt | 35 | ||||
| -rw-r--r-- | ext/dom/tests/DOMNode_removeChild_basic.phpt | 4 | ||||
| -rw-r--r-- | ext/dom/tests/bug44648.phpt | 2 | ||||
| -rw-r--r-- | ext/dom/tests/empty.html | 0 | ||||
| -rw-r--r-- | ext/dom/tests/not_well.html | 8 |
16 files changed, 291 insertions, 5 deletions
diff --git a/ext/dom/element.c b/ext/dom/element.c index f217ca2450..606a23f9cb 100644 --- a/ext/dom/element.c +++ b/ext/dom/element.c @@ -177,7 +177,7 @@ PHP_METHOD(domelement, __construct) RETURN_FALSE; } - /* Namespace logic is seperate and only when uri passed in to insure no BC breakage */ + /* Namespace logic is separate and only when uri passed in to insure no BC breakage */ if (uri_len > 0) { errorcode = dom_check_qname(name, &localname, &prefix, uri_len, name_len); if (errorcode == 0) { diff --git a/ext/dom/tests/DOMDocument_loadHTMLfile.phpt b/ext/dom/tests/DOMDocument_loadHTMLfile.phpt new file mode 100644 index 0000000000..93a614903f --- /dev/null +++ b/ext/dom/tests/DOMDocument_loadHTMLfile.phpt @@ -0,0 +1,17 @@ +--TEST-- +Test DOMDocument::loadHTMLFile +--DESCRIPTION-- +Verifies the basic behaviour of the method +--CREDITS-- +Antonio Diaz Ruiz <dejalatele@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$doc = new DOMDocument(); +$result = $doc->loadHTMLFile(dirname(__FILE__) . "/test.html"); +assert('$result === true'); +?> +--EXPECT-- diff --git a/ext/dom/tests/DOMDocument_loadHTMLfile_error1.phpt b/ext/dom/tests/DOMDocument_loadHTMLfile_error1.phpt new file mode 100644 index 0000000000..aee51966a3 --- /dev/null +++ b/ext/dom/tests/DOMDocument_loadHTMLfile_error1.phpt @@ -0,0 +1,18 @@ +--TEST-- +Test DOMDocument::loadHTMLFile when the file doesn't exist +--DESCRIPTION-- +Verifies that an error message is showed if the file doesn't exist +--CREDITS-- +Antonio Diaz Ruiz <dejalatele@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$doc = new DOMDocument(); +$result = $doc->loadHTMLFile(dirname(__FILE__) . "/ffff/test.html"); +assert('$result === false'); +?> +--EXPECTF-- +%r(PHP ){0,1}%rWarning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity %s diff --git a/ext/dom/tests/DOMDocument_loadHTMLfile_error2.phpt b/ext/dom/tests/DOMDocument_loadHTMLfile_error2.phpt new file mode 100644 index 0000000000..e59ff56c5a --- /dev/null +++ b/ext/dom/tests/DOMDocument_loadHTMLfile_error2.phpt @@ -0,0 +1,18 @@ +--TEST-- +Test DOMDocument::loadHTMLFile when an empty string is passed +--DESCRIPTION-- +Verifies that an error message is showed if an empty string is passed as argument +--CREDITS-- +Antonio Diaz Ruiz <dejalatele@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$doc = new DOMDocument(); +$result = $doc->loadHTMLFile(""); +assert('$result === false'); +?> +--EXPECTF-- +%r(PHP ){0,1}%rWarning: DOMDocument::loadHTMLFile(): Empty string supplied as input %s diff --git a/ext/dom/tests/DOMDocument_loadHTMLfile_variation1.phpt b/ext/dom/tests/DOMDocument_loadHTMLfile_variation1.phpt new file mode 100644 index 0000000000..2535772c78 --- /dev/null +++ b/ext/dom/tests/DOMDocument_loadHTMLfile_variation1.phpt @@ -0,0 +1,18 @@ +--TEST-- +Test DOMDocument::loadHTMLFile when an empty document is loaded +--DESCRIPTION-- +Verifies that an warning message is showed if an empty document is loaded +--CREDITS-- +Antonio Diaz Ruiz <dejalatele@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$doc = new DOMDocument(); +$result = $doc->loadHTMLFile(dirname(__FILE__) . "/empty.html"); +assert('$result === true'); +?> +--EXPECTF-- +%r(PHP ){0,1}%rWarning: DOMDocument::loadHTMLFile(): Document is empty %s diff --git a/ext/dom/tests/DOMDocument_loadHTMLfile_variation2.phpt b/ext/dom/tests/DOMDocument_loadHTMLfile_variation2.phpt new file mode 100644 index 0000000000..829686dd65 --- /dev/null +++ b/ext/dom/tests/DOMDocument_loadHTMLfile_variation2.phpt @@ -0,0 +1,17 @@ +--TEST-- +Test DOMDocument::loadHTMLFile when a not-well formed document is loaded +--DESCRIPTION-- +Verifies the behavior if a not-well formed document is loaded +--CREDITS-- +Antonio Diaz Ruiz <dejalatele@gmail.com> +--INI-- +assert.bail=true +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$doc = new DOMDocument(); +$result = $doc->loadHTMLFile(dirname(__FILE__) . "/not_well.html"); +assert('$result === true'); +?> +--EXPECT-- diff --git a/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt b/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt index d0cea29c7c..4dfafa267d 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 0000000000..5d389f529e --- /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 <dejalatele@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 0000000000..0d70a56073 --- /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 <dejalatele@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 0000000000..d063c5493b --- /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 <dejalatele@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 0000000000..36cc557579 --- /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 <dejalatele@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 0000000000..1fb3a96d02 --- /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 <dejalatele@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 diff --git a/ext/dom/tests/DOMNode_removeChild_basic.phpt b/ext/dom/tests/DOMNode_removeChild_basic.phpt index 384eb47b5e..fb0977488e 100644 --- a/ext/dom/tests/DOMNode_removeChild_basic.phpt +++ b/ext/dom/tests/DOMNode_removeChild_basic.phpt @@ -39,7 +39,7 @@ $root = $dom->documentElement; $children = $root->childNodes; $len = $children->length; -echo "orignal has $len nodes\n"; +echo "original has $len nodes\n"; for ($index = $children->length - 1; $index >=0; $index--) { echo "node $index\n"; $current = $children->item($index); @@ -58,7 +58,7 @@ for ($index = 0; $index < $children->length; $index++) { } --EXPECTF-- -orignal has 5 nodes +original has 5 nodes node 4 Course: no title:DOMText ~string(1) " diff --git a/ext/dom/tests/bug44648.phpt b/ext/dom/tests/bug44648.phpt index d04f590aca..4ff7ac389c 100644 --- a/ext/dom/tests/bug44648.phpt +++ b/ext/dom/tests/bug44648.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #44648 (Attribute names not checked for wellformedness) +Bug #44648 (Attribute names not checked for well formedness) --SKIPIF-- <?php require_once('skipif.inc'); ?> --FILE-- diff --git a/ext/dom/tests/empty.html b/ext/dom/tests/empty.html new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/ext/dom/tests/empty.html diff --git a/ext/dom/tests/not_well.html b/ext/dom/tests/not_well.html new file mode 100644 index 0000000000..151f46295f --- /dev/null +++ b/ext/dom/tests/not_well.html @@ -0,0 +1,8 @@ +<head> +<title>Hello world</title> +</head> +<body> +This is a not well-formed<br> +html files with undeclared entities +</body> +</html> |
