summaryrefslogtreecommitdiff
path: root/ext/dom
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dom')
-rw-r--r--ext/dom/element.c2
-rw-r--r--ext/dom/tests/DOMDocument_loadHTMLfile.phpt17
-rw-r--r--ext/dom/tests/DOMDocument_loadHTMLfile_error1.phpt18
-rw-r--r--ext/dom/tests/DOMDocument_loadHTMLfile_error2.phpt18
-rw-r--r--ext/dom/tests/DOMDocument_loadHTMLfile_variation1.phpt18
-rw-r--r--ext/dom/tests/DOMDocument_loadHTMLfile_variation2.phpt17
-rw-r--r--ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt2
-rw-r--r--ext/dom/tests/DOMNode_insertBefore_error2.phpt38
-rw-r--r--ext/dom/tests/DOMNode_insertBefore_error3.phpt39
-rw-r--r--ext/dom/tests/DOMNode_insertBefore_error4.phpt38
-rw-r--r--ext/dom/tests/DOMNode_insertBefore_error5.phpt40
-rw-r--r--ext/dom/tests/DOMNode_insertBefore_error6.phpt35
-rw-r--r--ext/dom/tests/DOMNode_removeChild_basic.phpt4
-rw-r--r--ext/dom/tests/bug44648.phpt2
-rw-r--r--ext/dom/tests/empty.html0
-rw-r--r--ext/dom/tests/not_well.html8
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&nbsp;
+</body>
+</html>