rrichards               Thu Sep 21 11:53:58 2006 UTC

  Added files:                 
    /php-src/ext/dom/tests      domattributes.phpt domchardata.phpt 

  Modified files:              
    /php-src/ext/dom    attr.c cdatasection.c characterdata.c comment.c 
                        php_dom.c text.c 
  Log:
  fix domcomment property handler so it inherits from domcharacterdata
  mark tested functions as unicode safe
  add tests
  
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/attr.c?r1=1.24&r2=1.25&diff_format=u
Index: php-src/ext/dom/attr.c
diff -u php-src/ext/dom/attr.c:1.24 php-src/ext/dom/attr.c:1.25
--- php-src/ext/dom/attr.c:1.24 Fri Aug  4 18:11:27 2006
+++ php-src/ext/dom/attr.c      Thu Sep 21 11:53:58 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: attr.c,v 1.24 2006/08/04 18:11:27 rrichards Exp $ */
+/* $Id: attr.c,v 1.25 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -43,7 +43,7 @@
        {NULL, NULL, NULL}
 };
 
-/* {{{ proto void DOMAttr::__construct(string name, [string value]); */
+/* {{{ proto void DOMAttr::__construct(string name, [string value]) U */
 PHP_METHOD(domattr, __construct)
 {
 
@@ -253,7 +253,7 @@
 
 
 
-/* {{{ proto boolean dom_attr_is_id();
+/* {{{ proto boolean dom_attr_is_id() U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Attr-isId
 Since: DOM Level 3
 */
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/cdatasection.c?r1=1.15&r2=1.16&diff_format=u
Index: php-src/ext/dom/cdatasection.c
diff -u php-src/ext/dom/cdatasection.c:1.15 php-src/ext/dom/cdatasection.c:1.16
--- php-src/ext/dom/cdatasection.c:1.15 Fri Aug  4 18:11:27 2006
+++ php-src/ext/dom/cdatasection.c      Thu Sep 21 11:53:58 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: cdatasection.c,v 1.15 2006/08/04 18:11:27 rrichards Exp $ */
+/* $Id: cdatasection.c,v 1.16 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -40,7 +40,7 @@
        {NULL, NULL, NULL}
 };
 
-/* {{{ proto void DOMCdataSection::__construct(string value); */
+/* {{{ proto void DOMCdataSection::__construct(string value) U */
 PHP_METHOD(domcdatasection, __construct)
 {
 
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/characterdata.c?r1=1.20&r2=1.21&diff_format=u
Index: php-src/ext/dom/characterdata.c
diff -u php-src/ext/dom/characterdata.c:1.20 
php-src/ext/dom/characterdata.c:1.21
--- php-src/ext/dom/characterdata.c:1.20        Sat Sep 16 13:56:25 2006
+++ php-src/ext/dom/characterdata.c     Thu Sep 21 11:53:58 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: characterdata.c,v 1.20 2006/09/16 13:56:25 rrichards Exp $ */
+/* $Id: characterdata.c,v 1.21 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -140,7 +140,7 @@
 /* }}} */
 
 
-/* {{{ proto string dom_characterdata_substring_data(int offset, int count);
+/* {{{ proto string dom_characterdata_substring_data(int offset, int count) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6531BCCF
 Since: 
 */
@@ -190,7 +190,7 @@
 /* }}} end dom_characterdata_substring_data */
 
 
-/* {{{ proto void dom_characterdata_append_data(string arg);
+/* {{{ proto void dom_characterdata_append_data(string arg) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-32791A2F
 Since: 
 */
@@ -225,7 +225,7 @@
 /* }}} end dom_characterdata_append_data */
 
 
-/* {{{ proto void dom_characterdata_insert_data(int offset, string arg);
+/* {{{ proto void dom_characterdata_insert_data(int offset, string arg) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-3EDB695F
 Since: 
 */
@@ -274,7 +274,7 @@
 /* }}} end dom_characterdata_insert_data */
 
 
-/* {{{ proto void dom_characterdata_delete_data(int offset, int count);
+/* {{{ proto void dom_characterdata_delete_data(int offset, int count) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-7C603781
 Since: 
 */
@@ -330,7 +330,7 @@
 /* }}} end dom_characterdata_delete_data */
 
 
-/* {{{ proto void dom_characterdata_replace_data(int offset, int count, string 
arg);
+/* {{{ proto void dom_characterdata_replace_data(int offset, int count, string 
arg) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-E5CBA7FB
 Since: 
 */
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/comment.c?r1=1.15&r2=1.16&diff_format=u
Index: php-src/ext/dom/comment.c
diff -u php-src/ext/dom/comment.c:1.15 php-src/ext/dom/comment.c:1.16
--- php-src/ext/dom/comment.c:1.15      Fri Aug  4 18:11:27 2006
+++ php-src/ext/dom/comment.c   Thu Sep 21 11:53:58 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: comment.c,v 1.15 2006/08/04 18:11:27 rrichards Exp $ */
+/* $Id: comment.c,v 1.16 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -40,7 +40,7 @@
        {NULL, NULL, NULL}
 };
 
-/* {{{ proto void DOMComment::__construct([string value]); */
+/* {{{ proto void DOMComment::__construct([string value]) U */
 PHP_METHOD(domcomment, __construct)
 {
 
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/php_dom.c?r1=1.97&r2=1.98&diff_format=u
Index: php-src/ext/dom/php_dom.c
diff -u php-src/ext/dom/php_dom.c:1.97 php-src/ext/dom/php_dom.c:1.98
--- php-src/ext/dom/php_dom.c:1.97      Mon Aug 14 11:29:49 2006
+++ php-src/ext/dom/php_dom.c   Thu Sep 21 11:53:58 2006
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_dom.c,v 1.97 2006/08/14 11:29:49 rrichards Exp $ */
+/* $Id: php_dom.c,v 1.98 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -698,8 +698,8 @@
 
        REGISTER_DOM_CLASS(ce, "DOMComment", dom_characterdata_class_entry, 
php_dom_comment_class_functions, dom_comment_class_entry);
        zend_hash_init(&dom_comment_prop_handlers, 0, NULL, NULL, 1);
-       zend_hash_copy(&dom_comment_prop_handlers, &dom_node_prop_handlers, 
NULL, NULL, sizeof(dom_prop_handler));
-       zend_hash_add(&classes, ce.name.s, ce.name_length + 1, 
&dom_comment_prop_handlers, sizeof(dom_typeinfo_prop_handlers), NULL);
+       zend_hash_copy(&dom_comment_prop_handlers, 
&dom_characterdata_prop_handlers, NULL, NULL, sizeof(dom_prop_handler));
+       zend_hash_add(&classes, ce.name.s, ce.name_length + 1, 
&dom_comment_prop_handlers, sizeof(dom_comment_prop_handlers), NULL);
 
        REGISTER_DOM_CLASS(ce, "DOMTypeinfo", NULL, 
php_dom_typeinfo_class_functions, dom_typeinfo_class_entry);
        
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/text.c?r1=1.27&r2=1.28&diff_format=u
Index: php-src/ext/dom/text.c
diff -u php-src/ext/dom/text.c:1.27 php-src/ext/dom/text.c:1.28
--- php-src/ext/dom/text.c:1.27 Fri Aug  4 18:11:27 2006
+++ php-src/ext/dom/text.c      Thu Sep 21 11:53:58 2006
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: text.c,v 1.27 2006/08/04 18:11:27 rrichards Exp $ */
+/* $Id: text.c,v 1.28 2006/09/21 11:53:58 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -44,7 +44,7 @@
        {NULL, NULL, NULL}
 };
 
-/* {{{ proto void DOMText::__construct([string value]); */
+/* {{{ proto void DOMText::__construct([string value]) U */
 PHP_METHOD(domtext, __construct)
 {
 
@@ -108,7 +108,7 @@
 /* }}} */
 
 
-/* {{{ proto DOMText dom_text_split_text(int offset);
+/* {{{ proto DOMText dom_text_split_text(int offset) U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-38853C1D
 Since: 
 */
@@ -167,7 +167,7 @@
 /* }}} end dom_text_split_text */
 
 
-/* {{{ proto boolean dom_text_is_whitespace_in_element_content();
+/* {{{ proto boolean dom_text_is_whitespace_in_element_content() U
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Text3-isWhitespaceInElementContent
 Since: DOM Level 3
 */
@@ -191,7 +191,7 @@
 /* }}} end dom_text_is_whitespace_in_element_content */
 
 
-/* {{{ proto DOMText dom_text_replace_whole_text(string content);
+/* {{{ proto DOMText dom_text_replace_whole_text(string content)
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Text3-replaceWholeText
 Since: DOM Level 3
 */

http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/domattributes.phpt?view=markup&rev=1.1
Index: php-src/ext/dom/tests/domattributes.phpt
+++ php-src/ext/dom/tests/domattributes.phpt
--TEST--
Attributes: DOMAttribute functionality
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
require_once("dom_test.inc");

$dom = new DOMDocument;
$dom->loadXML($xmlstr);
if(!$dom) {
  echo "Error while parsing the document\n";
  exit;
}

$node = $dom->documentElement;

$lang = $node->getAttributeNode('language');
echo "Language: ".$lang->value."\n";

$lang->value = 'en-US';
echo "Language: ".$lang->value."\n";

$parent = $lang->ownerElement;

$chapter = new DOMAttr("num", "1");
$parent->setAttributeNode($chapter);

echo "Is ID?: ".($chapter->isId()?'YES':'NO')."\n";

$top_element = $node->cloneNode();

print $dom->saveXML($top_element);


?>
--EXPECT--

Language: en
Language: en-US
Is ID?: NO
<chapter language="en-US" num="1"/>


http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/domchardata.phpt?view=markup&rev=1.1
Index: php-src/ext/dom/tests/domchardata.phpt
+++ php-src/ext/dom/tests/domchardata.phpt
--TEST--
CharData: DOMCharacterData and related functionality
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
require_once("dom_test.inc");

$dom = new DOMDocument;
$dom->loadXML($xmlstr);
if(!$dom) {
  echo "Error while parsing the document\n";
  exit;
}

$node = $dom->documentElement;

$charnode = $dom->createElement('charnode');
$node->appendChild($charnode);

/* DOMComment */
$comment = new DOMComment('Testing character data and extending nodes');
$charnode->appendChild($comment);

echo "Comment Length: ".$comment->length."\n";

$comment->data = 'Updated comment';
echo "New Comment Length: ".$comment->length."\n";
echo "New Comment Data: ".$comment->data."\n";

/* DOMCDataSection */
$cdata = new DOMCDataSection('Chars: <>&"');
$charnode->appendChild($cdata);

echo "Substring: ".$cdata->substringData(7, 4)."\n";
$cdata->replaceData(10, 1, "'");
echo "New Substring: ".$cdata->substringData(7, 4)."\n";

/* DOMCharacterData using DOMComment */
$comment = new DOMComment('instructions');
echo "Comment Value: ".$comment->data."\n";
$comment->data = 'some more instructions';
echo "New Comment Value: ".$comment->data."\n";

$comment->insertData(10, 'pi ');
$comment->replaceData(18, 5, 'i');
$comment->insertData(20, 'g');
$comment->deleteData(13, 2);
$comment->deleteData(10, 3);
$comment->insertData(10, 'comment ');
echo "Updated Comment Value: ".$comment->data."\n";

/* DOMText */
$text = new DOMText('some text characters');

echo "Whole Text: ".$text->wholeText."\n";
$text2 = $text->splitText(9);

echo "Split text: ".$text2->wholeText."\n";
$text3 = $text2->splitText(1);

echo "Is Whitespace?: ".($text2->isElementContentWhitespace()?'YES':'NO');
?>
--EXPECT--

Comment Length: 42
New Comment Length: 15
New Comment Data: Updated comment
Substring: <>&"
New Substring: <>&'
Comment Value: instructions
New Comment Value: some more instructions
Updated Comment Value: some more comment strings
Whole Text: some text characters
Split text:  characters
Is Whitespace?: YES

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to