]> granicus.if.org Git - php/commitdiff
add test
authorRob Richards <rrichards@php.net>
Mon, 22 May 2006 17:05:38 +0000 (17:05 +0000)
committerRob Richards <rrichards@php.net>
Mon, 22 May 2006 17:05:38 +0000 (17:05 +0000)
ext/dom/tests/regsiter_node_class.phpt [new file with mode: 0644]

diff --git a/ext/dom/tests/regsiter_node_class.phpt b/ext/dom/tests/regsiter_node_class.phpt
new file mode 100644 (file)
index 0000000..5444cc4
--- /dev/null
@@ -0,0 +1,43 @@
+--TEST--
+Test: registerNodeClass()
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class myAttribute extends DOMAttr {
+   function testit() { return "HELLO Attribute"; }
+}
+
+class myElement extends DOMElement {
+   function testit() { return "HELLO Element"; }
+}
+
+$doc = new DOMDocument();
+$doc->registerNodeClass('DOMAttr', 'myAttribute');
+$doc->registerNodeClass('DOMElement', 'myElement');
+$doc->appendChild(new DOMElement('root'));
+$root = $doc->documentElement;
+$root->setAttribute('a', 'a1');
+var_dump($root);
+print $root->testit()."\n";
+$attr = $root->getAttributeNode('a');
+var_dump($attr);
+print $attr->testit()."\n";
+unset($attr);
+$doc->registerNodeClass('DOMAttr', NULL);
+$attr = $root->getAttributeNode('a');
+var_dump($attr);
+print $attr->testit()."\n";
+?>
+--EXPECTF--
+
+object(myElement)#%d (0) {
+}
+HELLO Element
+object(myAttribute)#%d (0) {
+}
+HELLO Attribute
+object(DOMAttr)#%d (0) {
+}
+
+Fatal error: Call to undefined method DOMAttr::testit() in %s on line 25