Annotation of embedaddon/php/ext/dom/tests/regsiter_node_class.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test: registerNodeClass()
! 3: --SKIPIF--
! 4: <?php require_once('skipif.inc'); ?>
! 5: --FILE--
! 6: <?php
! 7: class myAttribute extends DOMAttr {
! 8: function testit() { return "HELLO Attribute"; }
! 9: }
! 10:
! 11: class myElement extends DOMElement {
! 12: function testit() { return "HELLO Element"; }
! 13: }
! 14:
! 15: $doc = new DOMDocument();
! 16: $doc->registerNodeClass('DOMAttr', 'myAttribute');
! 17: $doc->registerNodeClass('DOMElement', 'myElement');
! 18: $doc->appendChild(new DOMElement('root'));
! 19: $root = $doc->documentElement;
! 20: $root->setAttribute('a', 'a1');
! 21: var_dump($root);
! 22: print $root->testit()."\n";
! 23: $attr = $root->getAttributeNode('a');
! 24: var_dump($attr);
! 25: print $attr->testit()."\n";
! 26: unset($attr);
! 27: $doc->registerNodeClass('DOMAttr', NULL);
! 28: $attr = $root->getAttributeNode('a');
! 29: var_dump($attr);
! 30: print $attr->testit()."\n";
! 31: ?>
! 32: --EXPECTF--
! 33:
! 34: object(myElement)#%d (0) {
! 35: }
! 36: HELLO Element
! 37: object(myAttribute)#%d (0) {
! 38: }
! 39: HELLO Attribute
! 40: object(DOMAttr)#%d (0) {
! 41: }
! 42:
! 43: Fatal error: Call to undefined method DOMAttr::testit() in %s on line 25
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>