]> 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:39 +0000 (11:30 +0000)
committerAnt Phillips <ant@php.net>
Mon, 1 Dec 2008 11:30:39 +0000 (11:30 +0000)
27 files changed:
ext/dom/tests/DOMCharacterData_appendData_basic.phpt
ext/dom/tests/DOMComment_appendData_basic.phpt
ext/dom/tests/DOMComment_appendData_basic_Sullivan.phpt
ext/dom/tests/DOMComment_insertData_basic.phpt
ext/dom/tests/DOMComment_insertData_error1.phpt
ext/dom/tests/DOMComment_insertData_error2.phpt
ext/dom/tests/DOMComment_replaceData_basic.phpt
ext/dom/tests/DOMComment_replaceData_error1.phpt
ext/dom/tests/DOMComment_replaceData_error2.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/DOMDocument_loadHTML_basic.phpt
ext/dom/tests/DOMDocument_save_basic.phpt
ext/dom/tests/DOMElement_hasAttributes_basic.phpt
ext/dom/tests/DOMNode_cloneNode_basic.phpt [new file with mode: 0644]
ext/dom/tests/DOMNode_hasChildNodes_basic.phpt
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
ext/dom/tests/dom_test.inc

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 a5c21f0ad30779e11adcf9927b52fd51c40e4213..c756f1665a8c4fcbd019d6b628a6d4d2d32e9a52 100644 (file)
@@ -16,6 +16,6 @@ $dom->saveXML();
 echo $dom->saveXML();
 
 ?>
---EXPECT--
+--EXPECTF--
 <?xml version="1.0"?>
-<!--test-comment-more-data-->
+<!--test-comment-more-data-->
\ 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 16fa55e40db3b84269f36f8deaf463f1b34fbbc2..5a4857d6770b2f964d7f74ee83a5719d785434be 100644 (file)
@@ -16,6 +16,6 @@ $dom->appendChild($comment);
 echo $dom->saveXML();
 
 ?>
---EXPECT--
+--EXPECTF--
 <?xml version="1.0"?>
 <!--test-inserted-comment-->
index bd72642e338b8c7d8e29d69b6304addd76b6b54a..56922ac5185a545fcf2e2550f653573e58b03c44 100644 (file)
@@ -20,5 +20,5 @@ try {
 }
 
 ?>
---EXPECT--
+--EXPECTF--
 Throws DOMException for -ve offset
index 73911cc3687a5292f1f081e358aaa2081f5d3818..d2affa89e7ca6f5f316b15807726065f907a6af1 100644 (file)
@@ -20,5 +20,5 @@ try {
 }
 
 ?>
---EXPECT--
-Throws DOMException for offset too large
+--EXPECTF--
+Throws DOMException for offset too large
\ No newline at end of file
index 0d1b1a9c9c08e30f42601322ab95adb59c62d40d..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
 
@@ -22,7 +22,7 @@ $dom->appendChild($comment);
 echo $dom->saveXML();
 
 ?>
---EXPECT--
+--EXPECTF--
 <?xml version="1.0"?>
 <!--testreplacedcomment-->
 <?xml version="1.0"?>
index 16ea993e3442947305151c16fecc2827acb62a51..4ae4cb61da8fabf1404f61fe57d8df08c003c400 100644 (file)
@@ -20,5 +20,5 @@ try {
 }
 
 ?>
---EXPECT--
+--EXPECTF--
 Throws DOMException for -ve offest
index fbf59d76dc707372d0bf084a07cdddbabb21ff1c..89614f9756a43ae8f2073e9939fa9b4528474816 100644 (file)
@@ -20,5 +20,5 @@ try {
 }
 
 ?>
---EXPECT--
-Throws DOMException for offest too large
+--EXPECTF--
+Throws DOMException for offest too large
\ No newline at end of file
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 0a1115e1cd8401e28e5919267157537d71a839b8..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
 
@@ -23,3 +21,4 @@ echo $doc->saveXML();
 --EXPECT--
 <?xml version="1.0"?>
 <para hahaha=""/>
+
index da2a967c3aea37f982473d8ad2f468493357a8bb..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();
@@ -23,5 +21,5 @@ catch(Exception $e) {
 }
 
 ?>
---EXPECT--
+--EXPECTF--
 PASS
index 9a1cba48132c97ecf59f5951e4869700bcc750be..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
 
@@ -26,3 +24,4 @@ catch (DOMException $e) {
 ?>
 --EXPECT--
 Test failed!
+
index a5f3dcd0411aa1ce2d4ccecbba081c7c9c9129fe..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();
@@ -10,5 +8,5 @@ $attr = $dom->createAttribute('string');
 echo get_class($attr);
 
 ?>
---EXPECT--
+--EXPECTF--
 DOMAttr
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 839bd0f92344513e17777ecd5572eb5e9f20076a..616d1d837150bd39bc2053bc72bf7adf6d8119bb 100644 (file)
@@ -13,6 +13,6 @@ $doc = new DOMDocument();
 $doc->loadHTML("<html><body><p>Test<br></p></body></html>");
 echo $doc->saveHTML();
 ?>
---EXPECT--
+--EXPECTF--
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <html><body><p>Test<br></p></body></html>
index bcad72dce5fe45722b776112fbd1942d48ef6c34..c7d1ead24b46a1c916cbbf0c04d8af1db73cada2 100644 (file)
@@ -28,5 +28,6 @@ echo 'Wrote: ' . $doc->save($temp_filename) . ' bytes'; // Wrote: 72 bytes
        $temp_filename = dirname(__FILE__)."/DomDocument_save_basic.tmp";
        unlink($temp_filename);
 ?>
---EXPECT--
+--EXPECTF--
 Wrote: 72 bytes
+
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..d101462
--- /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) {
+}
+~unicode(24) "
+               
+                       c1n1
+                       c1n2
+               
+       "
+node 1
+Course: two:object(DOMElement)#3 (0) {
+}
+~unicode(24) "
+               
+                       c2n1
+                       c2n2
+               
+       "
+node 2
+Course: new title default:object(DOMElement)#4 (0) {
+}
+~unicode(0) ""
+node 3
+Course: new title true:object(DOMElement)#7 (0) {
+}
+~unicode(24) "
+               
+                       c1n1
+                       c1n2
+               
+       "
+node 4
+Course: new title false:object(DOMElement)#8 (0) {
+}
+~unicode(0) ""
\ No newline at end of file
index e303110befa15fb6b2a2f1ac91ca441754652de2..3a6f6b4218886a6f416837b020526553c78c68e4 100644 (file)
@@ -37,7 +37,7 @@ echo "Text has child nodes: ";
 var_dump($text->hasChildNodes());
 
 ?>
---EXPECT--
+--EXPECTF--
 Root has child nodes: bool(true)
 Title has child nodes: bool(true)
-Text has child nodes: bool(false)
+Text has child nodes: bool(false)
\ No newline at end of file
index 55886e3ec43db54ce4ce6f37653eddae6aa19ddc..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");
@@ -30,6 +28,8 @@ else
        echo "EXPECTING NOT SAME NODE, PASSED\n" ; 
        
 ?>
+===DONE===
 --EXPECT--
 EXPECTING SAME NODE, PASSED
 EXPECTING NOT SAME NODE, PASSED
+===DONE===
index fce6b289bd6baa7c888974bb24094ec4fb57a297..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>
@@ -57,8 +57,8 @@ echo "Number of child nodes of title after normalizing title = ";
 var_dump($title->childNodes->length);
 
 ?>
---EXPECT--
+--EXPECTF--
 Number of child nodes of title = int(1)
 Number of child nodes of title after adding second title = int(2)
 Number of child nodes of title after normalizing author = int(2)
-Number of child nodes of title after normalizing title = int(1)
+Number of child nodes of title after normalizing title = int(1)
\ No newline at end of file
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..3e60b4b
--- /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) {
+}
+~unicode(1) "
+"
+node 3
+Course: two:object(DOMElement)#5 (0) {
+}
+~unicode(24) "
+               
+                       c2n1
+                       c2n2
+               
+       "
+node 2
+Course: no title:object(DOMText)#6 (0) {
+}
+~unicode(2) "
+       "
+node 1
+Course: one:object(DOMElement)#4 (0) {
+}
+~unicode(24) "
+               
+                       c1n1
+                       c1n2
+               
+       "
+node 0
+Course: no title:object(DOMText)#5 (0) {
+}
+~unicode(2) "
+       "
+after text removed it now has 2 nodes
+node 0
+Course: one:object(DOMElement)#3 (0) {
+}
+~unicode(24) "
+               
+                       c1n1
+                       c1n2
+               
+       "
+node 1
+Course: two:object(DOMElement)#4 (0) {
+}
+~unicode(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 646d2a37cf545b8d805f38e749ec6f1955ce1987..d1820c361ae118c823010f97f709c472f279be56 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,5 @@ unicode(0) ""
 bool(true)
 bool(true)
 bool(false)
-bool(false)  
+bool(false)
+
index e626de686b8bd1aba94f4b506004828aeb2f51bf..86b426f8f37ca6fd6b6f57076f6ebb75ef94f6f0 100644 (file)
@@ -1,5 +1,5 @@
 <?PHP
-$xmlstr = b"<?xml version='1.0' standalone='yes'?>
+$xmlstr = "<?xml version='1.0' standalone='yes'?>
 <!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
 [ <!ENTITY sp \"spanish\">
 ]>