diff options
author | Ant Phillips <ant@php.net> | 2008-12-01 11:30:10 +0000 |
---|---|---|
committer | Ant Phillips <ant@php.net> | 2008-12-01 11:30:10 +0000 |
commit | 5eaaf3843f179b0943c6c164057f63744e7df6ff (patch) | |
tree | d4befe5f6d03fa14aecd3c4cd6425ec59761d3cd /ext/dom | |
parent | f24ac1603c2a33091f0123e2c596927cc26c8064 (diff) | |
download | php-git-5eaaf3843f179b0943c6c164057f63744e7df6ff.tar.gz |
DOM tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
Diffstat (limited to 'ext/dom')
17 files changed, 232 insertions, 34 deletions
diff --git a/ext/dom/tests/DOMCharacterData_appendData_basic.phpt b/ext/dom/tests/DOMCharacterData_appendData_basic.phpt index 9b37b4443a..ee590de80c 100644 --- a/ext/dom/tests/DOMCharacterData_appendData_basic.phpt +++ b/ext/dom/tests/DOMCharacterData_appendData_basic.phpt @@ -3,8 +3,6 @@ DOMCharacterData::appendData basic functionality test --CREDITS-- Mike Sullivan <mike@regexia.com> #TestFest 2008 (London) ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php @@ -34,4 +32,4 @@ CDATA Length (two appends): 8 CDATA Content: data><&" <?xml version="1.0"?> -<root><cdata><![CDATA[data><&"]]></cdata></root> +<root><cdata><![CDATA[data><&"]]></cdata></root>
\ No newline at end of file diff --git a/ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt b/ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt index 4d39ea4695..b7d90a1194 100644 --- a/ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt +++ b/ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt @@ -3,8 +3,6 @@ DOMComment::appendData basic functionality test --CREDITS-- Mike Sullivan <mike@regexia.com> #TestFest 2008 (London) ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php @@ -34,4 +32,4 @@ Comment Length (two appends): 8 Comment Content: data><&" <?xml version="1.0"?> -<root><comment><!--data><&"--></comment></root> +<root><comment><!--data><&"--></comment></root>
\ No newline at end of file diff --git a/ext/dom/tests/DOMComment_replaceData_basic.phpt b/ext/dom/tests/DOMComment_replaceData_basic.phpt index 2963cb1e06..10bf677ff3 100644 --- a/ext/dom/tests/DOMComment_replaceData_basic.phpt +++ b/ext/dom/tests/DOMComment_replaceData_basic.phpt @@ -4,7 +4,7 @@ Test replacing data into a DOMComment basic test Andrew Larssen <al@larssen.org> London TestFest 2008 --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php // require_once('skipif.inc'); ?> --FILE-- <?php diff --git a/ext/dom/tests/DOMDocumentFragment_appendXML_hasChildNodes_basic.phpt b/ext/dom/tests/DOMDocumentFragment_appendXML_hasChildNodes_basic.phpt index c82a73b526..d6fb632132 100644 --- a/ext/dom/tests/DOMDocumentFragment_appendXML_hasChildNodes_basic.phpt +++ b/ext/dom/tests/DOMDocumentFragment_appendXML_hasChildNodes_basic.phpt @@ -1,7 +1,5 @@ --TEST-- Testing DOMDocumentFragment::appendXML and DOMDocumentFragment::hasChildNodes ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php $doc = new DOMDocument(); diff --git a/ext/dom/tests/DOMDocument_createAttribute_basic.phpt b/ext/dom/tests/DOMDocument_createAttribute_basic.phpt index 4dd181b3f8..5205a3e30f 100644 --- a/ext/dom/tests/DOMDocument_createAttribute_basic.phpt +++ b/ext/dom/tests/DOMDocument_createAttribute_basic.phpt @@ -3,8 +3,6 @@ DomDocument::createAttribute() - basic test for DomDocument::createAttribute() --CREDITS-- Muhammad Khalid Adnan # TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php diff --git a/ext/dom/tests/DOMDocument_createAttribute_error.phpt b/ext/dom/tests/DOMDocument_createAttribute_error.phpt index bf71d554aa..3b318d40d2 100644 --- a/ext/dom/tests/DOMDocument_createAttribute_error.phpt +++ b/ext/dom/tests/DOMDocument_createAttribute_error.phpt @@ -1,7 +1,5 @@ --TEST-- Test DOMDocument::createAttribute() for expected expection thrown when wrong parameter passed ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php $dom = new DOMDocument(); diff --git a/ext/dom/tests/DOMDocument_createAttribute_error1.phpt b/ext/dom/tests/DOMDocument_createAttribute_error1.phpt index 745873aca9..153b18b5a2 100644 --- a/ext/dom/tests/DOMDocument_createAttribute_error1.phpt +++ b/ext/dom/tests/DOMDocument_createAttribute_error1.phpt @@ -3,8 +3,6 @@ DomDocument::createAttribute() - error test for DomDocument::createAttribute() --CREDITS-- Muhammad Khalid Adnan # TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php diff --git a/ext/dom/tests/DOMDocument_createAttribute_variation.phpt b/ext/dom/tests/DOMDocument_createAttribute_variation.phpt index ff81343cc9..f00493455c 100644 --- a/ext/dom/tests/DOMDocument_createAttribute_variation.phpt +++ b/ext/dom/tests/DOMDocument_createAttribute_variation.phpt @@ -1,7 +1,5 @@ --TEST-- Test DOMDocument::createAttribute() for expected return value ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php $dom = new DOMDocument(); diff --git a/ext/dom/tests/DOMDocument_createProcessingInstruction_basic.phpt b/ext/dom/tests/DOMDocument_createProcessingInstruction_basic.phpt index 9f45f125d5..ea0910417c 100644 --- a/ext/dom/tests/DOMDocument_createProcessingInstruction_basic.phpt +++ b/ext/dom/tests/DOMDocument_createProcessingInstruction_basic.phpt @@ -3,8 +3,6 @@ DomDocument::createProcessingInstruction() - basic test for DomDocument::createP --CREDITS-- Muhammad Khalid Adnan # TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php diff --git a/ext/dom/tests/DOMDocument_createProcessingInstruction_error.phpt b/ext/dom/tests/DOMDocument_createProcessingInstruction_error.phpt index a0c12b1fe7..d050b17714 100644 --- a/ext/dom/tests/DOMDocument_createProcessingInstruction_error.phpt +++ b/ext/dom/tests/DOMDocument_createProcessingInstruction_error.phpt @@ -3,8 +3,6 @@ DomDocument::createProcessingInstruction() - error test for DomDocument::createP --CREDITS-- Muhammad Khalid Adnan # TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php diff --git a/ext/dom/tests/DOMElement_hasAttributes_basic.phpt b/ext/dom/tests/DOMElement_hasAttributes_basic.phpt index 8e38d935e7..f0d0c355b8 100644 --- a/ext/dom/tests/DOMElement_hasAttributes_basic.phpt +++ b/ext/dom/tests/DOMElement_hasAttributes_basic.phpt @@ -3,8 +3,6 @@ DOMNode: hasAttributes() --CREDITS-- James Lewis <james@s-1.com> #TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php require_once("dom_test.inc"); diff --git a/ext/dom/tests/DOMNode_cloneNode_basic.phpt b/ext/dom/tests/DOMNode_cloneNode_basic.phpt new file mode 100644 index 0000000000..16b8533f71 --- /dev/null +++ b/ext/dom/tests/DOMNode_cloneNode_basic.phpt @@ -0,0 +1,111 @@ +--TEST-- +DOM cloneNode : Basic Functionality +--SKIPIF-- +<?php +require_once('skipif.inc'); +?> +--CREDITS-- +Simon Hughes <odbc3@hotmail.com> +--FILE-- +<?php + +$xml = <<< EOXML +<?xml version="1.0" encoding="ISO-8859-1"?> +<courses> + <course title="one"> + <notes> + <note>c1n1</note> + <note>c1n2</note> + </notes> + </course> + <course title="two"> + <notes> + <note>c2n1</note> + <note>c2n2</note> + </notes> + </course> +</courses> +EOXML; + +function dumpcourse($current) { + $title = ($current->nodeType != XML_TEXT_NODE && $current->hasAttribute('title')) ? $current->getAttribute('title'):"no title"; + echo "Course: $title:";var_dump($current); + echo "~";var_dump($current->textContent); +} + +$dom = new DOMDocument(); +$dom->loadXML($xml); +$root = $dom->documentElement; + +// strip all text nodes from this tree +$children = $root->childNodes; +$len = $children->length; +for ($index = $children->length - 1; $index >=0; $index--) { + $current = $children->item($index); + if ($current->nodeType == XML_TEXT_NODE) { + $noderemoved = $root->removeChild($current); + } +} + +echo "Start cloneNode test\n"; +$first_course = $children->item(0); +$cloned_first_course_default = $first_course->cloneNode(); +$first_course->setAttribute('title', 'new title1'); + +$cloned_first_course_true = $first_course->cloneNode(true); +$first_course->setAttribute('title', 'new title2'); + +$cloned_first_course_false = $first_course->cloneNode(false); +$first_course->setAttribute('title', 'new title3'); + +$cloned_first_course_default->setAttribute('title', 'new title default'); +$cloned_first_course_true->setAttribute('title', 'new title true'); +$cloned_first_course_false->setAttribute('title', 'new title false'); + +$root->appendChild($cloned_first_course_default); +$root->appendChild($cloned_first_course_true); +$root->appendChild($cloned_first_course_false); + +$children = $root->childNodes; +for ($index = 0; $index < $children->length; $index++) { + echo "node $index\n"; + dumpcourse($children->item($index)); +} + +--EXPECTF-- +Start cloneNode test +node 0 +Course: new title3:object(DOMElement)#6 (0) { +} +~string(24) " + + c1n1 + c1n2 + + " +node 1 +Course: two:object(DOMElement)#3 (0) { +} +~string(24) " + + c2n1 + c2n2 + + " +node 2 +Course: new title default:object(DOMElement)#4 (0) { +} +~string(0) "" +node 3 +Course: new title true:object(DOMElement)#7 (0) { +} +~string(24) " + + c1n1 + c1n2 + + " +node 4 +Course: new title false:object(DOMElement)#8 (0) { +} +~string(0) ""
\ No newline at end of file diff --git a/ext/dom/tests/DOMNode_issamenode_basic.phpt b/ext/dom/tests/DOMNode_issamenode_basic.phpt index e008340ead..beccb8fb62 100644 --- a/ext/dom/tests/DOMNode_issamenode_basic.phpt +++ b/ext/dom/tests/DOMNode_issamenode_basic.phpt @@ -3,8 +3,6 @@ DOMNode: isSameNode() --CREDITS-- James Lewis <james@s-1.com> #TestFest 2008 ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php require_once("dom_test.inc"); diff --git a/ext/dom/tests/DOMNode_normalize_basic.phpt b/ext/dom/tests/DOMNode_normalize_basic.phpt index 8ab9080f69..79f5294d63 100644 --- a/ext/dom/tests/DOMNode_normalize_basic.phpt +++ b/ext/dom/tests/DOMNode_normalize_basic.phpt @@ -1,15 +1,15 @@ --TEST-- -DomNode::normalize() +normalize() --SKIPIF-- <?php include('skipif.inc'); ?> --FILE-- -<?php +<?php /* Create an XML document * with structure - * <book> + * <book> * <author></author> * <title>This is the title</title> * </book> diff --git a/ext/dom/tests/DOMNode_removeChild_basic.phpt b/ext/dom/tests/DOMNode_removeChild_basic.phpt new file mode 100644 index 0000000000..8609e58be5 --- /dev/null +++ b/ext/dom/tests/DOMNode_removeChild_basic.phpt @@ -0,0 +1,113 @@ +--TEST-- +DOM removeChild : Basic Functionality +--SKIPIF-- +<?php +require_once('skipif.inc'); +?> +--CREDITS-- +Simon Hughes <odbc3@hotmail.com> +--FILE-- +<?php + +$xml = <<< EOXML +<?xml version="1.0" encoding="ISO-8859-1"?> +<courses> + <course title="one"> + <notes> + <note>c1n1</note> + <note>c1n2</note> + </notes> + </course> + <course title="two"> + <notes> + <note>c2n1</note> + <note>c2n2</note> + </notes> + </course> +</courses> +EOXML; + +function dumpcourse($current) { + $title = ($current->nodeType != XML_TEXT_NODE && $current->hasAttribute('title')) ? $current->getAttribute('title'):"no title"; + echo "Course: $title:";var_dump($current); + echo "~";var_dump($current->textContent); +} + +$dom = new DOMDocument(); +$dom->loadXML($xml); +$root = $dom->documentElement; + +$children = $root->childNodes; +$len = $children->length; +echo "orignal has $len nodes\n"; +for ($index = $children->length - 1; $index >=0; $index--) { + echo "node $index\n"; + $current = $children->item($index); + dumpcourse($current); + if ($current->nodeType == XML_TEXT_NODE) { + $noderemoved = $root->removeChild($current); + } +} +$children = $root->childNodes; +$len = $children->length; +echo "after text removed it now has $len nodes\n"; +for ($index = 0; $index < $children->length; $index++) { + echo "node $index\n"; + $current = $children->item($index); + dumpcourse($current); +} + +--EXPECTF-- +orignal has 5 nodes +node 4 +Course: no title:object(DOMText)#4 (0) { +} +~string(1) " +" +node 3 +Course: two:object(DOMElement)#5 (0) { +} +~string(24) " + + c2n1 + c2n2 + + " +node 2 +Course: no title:object(DOMText)#6 (0) { +} +~string(2) " + " +node 1 +Course: one:object(DOMElement)#4 (0) { +} +~string(24) " + + c1n1 + c1n2 + + " +node 0 +Course: no title:object(DOMText)#5 (0) { +} +~string(2) " + " +after text removed it now has 2 nodes +node 0 +Course: one:object(DOMElement)#3 (0) { +} +~string(24) " + + c1n1 + c1n2 + + " +node 1 +Course: two:object(DOMElement)#4 (0) { +} +~string(24) " + + c2n1 + c2n2 + + "
\ No newline at end of file diff --git a/ext/dom/tests/DOMText_appendData_basic.phpt b/ext/dom/tests/DOMText_appendData_basic.phpt index 72d0d6ca94..6a28a9ae45 100644 --- a/ext/dom/tests/DOMText_appendData_basic.phpt +++ b/ext/dom/tests/DOMText_appendData_basic.phpt @@ -3,8 +3,6 @@ DOMText::appendData basic functionality test --CREDITS-- Mike Sullivan <mike@regexia.com> #TestFest 2008 (London) ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php @@ -34,4 +32,4 @@ Text Length (two appends): 8 Text Content: data><&" <?xml version="1.0"?> -<root><text>data><&"</text></root> +<root><text>data><&"</text></root>
\ No newline at end of file diff --git a/ext/dom/tests/bug42082.phpt b/ext/dom/tests/bug42082.phpt index c57d312e1b..86f32dd8d9 100644 --- a/ext/dom/tests/bug42082.phpt +++ b/ext/dom/tests/bug42082.phpt @@ -1,7 +1,5 @@ --TEST-- Bug #42082 (NodeList length zero should be empty) ---SKIPIF-- -<?php require_once('skipif.inc'); ?> --FILE-- <?php $doc = new DOMDocument(); @@ -26,4 +24,4 @@ string(0) "" bool(true) bool(true) bool(false) -bool(false) +bool(false)
\ No newline at end of file |