]> granicus.if.org Git - php/commitdiff
DOM tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
authorAnt Phillips <ant@php.net>
Mon, 1 Dec 2008 11:30:10 +0000 (11:30 +0000)
committerAnt Phillips <ant@php.net>
Mon, 1 Dec 2008 11:30:10 +0000 (11:30 +0000)
17 files changed:
ext/dom/tests/DOMCharacterData_appendData_basic.phpt
ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt
ext/dom/tests/DOMComment_replaceData_basic.phpt
ext/dom/tests/DOMDocumentFragment_appendXML_hasChildNodes_basic.phpt
ext/dom/tests/DOMDocument_createAttribute_basic.phpt
ext/dom/tests/DOMDocument_createAttribute_error.phpt
ext/dom/tests/DOMDocument_createAttribute_error1.phpt
ext/dom/tests/DOMDocument_createAttribute_variation.phpt
ext/dom/tests/DOMDocument_createProcessingInstruction_basic.phpt
ext/dom/tests/DOMDocument_createProcessingInstruction_error.phpt
ext/dom/tests/DOMElement_hasAttributes_basic.phpt
ext/dom/tests/DOMNode_cloneNode_basic.phpt [new file with mode: 0644]
ext/dom/tests/DOMNode_issamenode_basic.phpt
ext/dom/tests/DOMNode_normalize_basic.phpt
ext/dom/tests/DOMNode_removeChild_basic.phpt [new file with mode: 0644]
ext/dom/tests/DOMText_appendData_basic.phpt
ext/dom/tests/bug42082.phpt

index 9b37b4443a1f177513c299ee040df18572472149..ee590de80c4c2bd022046be52f6585bc9163c0cd 100644 (file)
@@ -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
index 4d39ea469524411dc7e050f0d365bf33894c867b..b7d90a1194904a28fb6a2a335da6b70cbe911c8f 100644 (file)
@@ -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
index 2963cb1e06809e777ae3abae316a307adcef9fa0..10bf677ff349f2e0a038bd5f2c8e6db89fd4abd1 100644 (file)
@@ -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
 
index c82a73b526650064c1695e582af4b28caa52e0d5..d6fb63213262876e6ac804ec48e10d2d0570ea51 100644 (file)
@@ -1,7 +1,5 @@
 --TEST--
 Testing DOMDocumentFragment::appendXML and DOMDocumentFragment::hasChildNodes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php
 $doc = new DOMDocument();
index 4dd181b3f8b50da122a6808de9303a2d5c202cc3..5205a3e30fd757bb2b4605147301068b95ca4570 100644 (file)
@@ -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
 
index bf71d554aac119e193e70dc0e89406078e66b123..3b318d40d285d80b32f87941f5c2339c4150ceba 100644 (file)
@@ -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();
index 745873aca905a9fddd51c4f318cb167306f0295e..153b18b5a24cb298f74c4c29f75c4ffc91555a06 100644 (file)
@@ -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
 
index ff81343cc98e4a1cb820be41611803f63cb287a0..f00493455ca80b6ec7f90f9077fb329dd869523c 100644 (file)
@@ -1,7 +1,5 @@
 --TEST--
 Test DOMDocument::createAttribute() for expected return value
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php
 $dom = new DOMDocument();
index 9f45f125d56743e922a4ba449881827d4254cc19..ea0910417cea5ea605cc70b5d2757051c389c31f 100644 (file)
@@ -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
 
index a0c12b1fe714249a521f06cb5f8fb8366498cb86..d050b17714606a490e5a2edd93494a5811c148b8 100644 (file)
@@ -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
 
index 8e38d935e728348a18c088ed4f368395cefc6975..f0d0c355b8242086509edd72606cbf13b18b7884 100644 (file)
@@ -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 (file)
index 0000000..16b8533
--- /dev/null
@@ -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
index e008340ead9634700d2c252bcb9df52ae112cad4..beccb8fb624d249382f89b0024cca18447f261ec 100644 (file)
@@ -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");
index 8ab9080f69ffbd8163c4877c8aa18935798448ba..79f5294d630768aa3345fbf5ca7c4650333d22f0 100644 (file)
@@ -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 (file)
index 0000000..8609e58
--- /dev/null
@@ -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
index 72d0d6ca9446e6ab0f26a696f2c6bda5654c91e1..6a28a9ae4558e8514d99e74e92dab5afb8806723 100644 (file)
@@ -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&gt;&lt;&amp;"</text></root>
+<root><text>data&gt;&lt;&amp;"</text></root>
\ No newline at end of file
index c57d312e1bd57f71fdfb1089dfa6416422e44a52..86f32dd8d91e18099d2ae93e0b0ccb583f9cd7a4 100644 (file)
@@ -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