Annotation of embedaddon/php/ext/simplexml/tests/031.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SimpleXML: addChild and addAttribute
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("simplexml")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7: $xml =<<<EOF
! 8: <root s:att1="b" att1="a"
! 9: xmlns:s="urn::test" xmlns:t="urn::test-t">
! 10: <child1>test</child1>
! 11: <child1>test 2</child1>
! 12: <s:child3 />
! 13: </root>
! 14: EOF;
! 15:
! 16: $sxe = simplexml_load_string($xml);
! 17:
! 18: /* Add new attribute in a new namespace */
! 19: $sxe->addAttribute('v:att11', 'xxx', 'urn::test-v');
! 20:
! 21: /* Try to add attribute again -> display warning as method is for new Attr only */
! 22: $sxe->addAttribute('v:att11', 'xxx', 'urn::test-v');
! 23:
! 24: /* Add new attribute w/o namespace */
! 25: $sxe->addAttribute('att2', 'no-ns');
! 26:
! 27: $d = $sxe->attributes();
! 28: /* Try to add element to attribute -> display warning and do not add */
! 29: $d->addChild('m:test', 'myval', 'urn::test');
! 30:
! 31:
! 32: /* Test adding elements in various configurations */
! 33: $sxe->addChild('m:test1', 'myval', 'urn::test');
! 34:
! 35: /* New namespace test */
! 36: $n = $sxe->addChild('m:test2', 'myval', 'urn::testnew');
! 37:
! 38: $sxe->addChild('test3', 'myval', 'urn::testnew');
! 39: $sxe->addChild('test4', 'myval');
! 40:
! 41: /* Does not add prefix here although name is valid (but discouraged) - change behavior? */
! 42: $sxe->addChild('s:test5', 'myval');
! 43:
! 44: echo $sxe->asXML();
! 45: ?>
! 46: ===DONE===
! 47: --EXPECTF--
! 48: Warning: SimpleXMLElement::addAttribute(): Attribute already exists in %s031.php on line %d
! 49:
! 50: Warning: SimpleXMLElement::addChild(): Cannot add element to attributes in %s031.php on line %d
! 51: <?xml version="1.0"?>
! 52: <root xmlns:s="urn::test" xmlns:t="urn::test-t" xmlns:v="urn::test-v" s:att1="b" att1="a" v:att11="xxx" att2="no-ns">
! 53: <child1>test</child1>
! 54: <child1>test 2</child1>
! 55: <s:child3/>
! 56: <s:test1>myval</s:test1><m:test2 xmlns:m="urn::testnew">myval</m:test2><test3 xmlns="urn::testnew">myval</test3><test4>myval</test4><test5>myval</test5></root>
! 57: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>