diff --git a/core/src/avm2/globals/flash/xml/XMLNode.as b/core/src/avm2/globals/flash/xml/XMLNode.as index 5f7cdf496..f47f48b4e 100644 --- a/core/src/avm2/globals/flash/xml/XMLNode.as +++ b/core/src/avm2/globals/flash/xml/XMLNode.as @@ -87,6 +87,14 @@ package flash.xml } } + public function get nodeValue(): String { + if (_xml.nodeKind() == "text") { + return _xml.toString(); + } + + return null; + } + public function appendChild(node: XMLNode): void { stub_method("flash.xml.XMLNode", "appendChild"); } diff --git a/tests/tests/swfs/avm2/flash_xml/Test.as b/tests/tests/swfs/avm2/flash_xml/Test.as index eb9586c6c..e96f06f47 100644 --- a/tests/tests/swfs/avm2/flash_xml/Test.as +++ b/tests/tests/swfs/avm2/flash_xml/Test.as @@ -8,16 +8,20 @@ import flash.xml.XMLDocument; var doc = new XMLDocument('bary'); trace("doc.nodeType: " + doc.nodeType); trace("doc.nodeName: " + doc.nodeName); +trace("doc.nodeValue: " + doc.nodeValue); trace("doc.childNodes: " + doc.childNodes); trace("doc.toString(): " + doc.toString()); trace("doc.firstChild.nodeType: " + doc.firstChild.nodeType); trace("doc.firstChild.nodeName: " + doc.firstChild.nodeName); +trace("doc.firstChild.nodeValue: " + doc.firstChild.nodeValue); trace("doc.firstChild.toString(): " + doc.firstChild.toString()); trace("doc.firstChild.firstChild.nodeType: " + doc.firstChild.firstChild.nodeType); trace("doc.firstChild.firstChild.nodeName: " + doc.firstChild.firstChild.nodeName); +trace("doc.firstChild.firstChild.nodeValue: " + doc.firstChild.firstChild.nodeValue); trace("doc.firstChild.firstChild.toString(): " + doc.firstChild.firstChild.toString()); trace("doc.firstChild.nextSibling: " + doc.firstChild.nextSibling); trace("doc.firstChild.nextSibling.nodeName: " + doc.firstChild.nextSibling.nodeName); +trace("doc.firstChild.nextSibling.nodeValue: " + doc.firstChild.nextSibling.nodeValue); trace("///") diff --git a/tests/tests/swfs/avm2/flash_xml/output.txt b/tests/tests/swfs/avm2/flash_xml/output.txt index 147ca51e7..7eed9cc79 100644 --- a/tests/tests/swfs/avm2/flash_xml/output.txt +++ b/tests/tests/swfs/avm2/flash_xml/output.txt @@ -1,15 +1,19 @@ doc.nodeType: 1 doc.nodeName: null +doc.nodeValue: null doc.childNodes: bar,y doc.toString(): bary doc.firstChild.nodeType: 1 doc.firstChild.nodeName: foo +doc.firstChild.nodeValue: null doc.firstChild.toString(): bar doc.firstChild.firstChild.nodeType: 3 doc.firstChild.firstChild.nodeName: null +doc.firstChild.firstChild.nodeValue: bar doc.firstChild.firstChild.toString(): bar doc.firstChild.nextSibling: y doc.firstChild.nextSibling.nodeName: x +doc.firstChild.nextSibling.nodeValue: null /// doc2.nodeType: 1 doc2.nodeName: null diff --git a/tests/tests/swfs/avm2/flash_xml/test.swf b/tests/tests/swfs/avm2/flash_xml/test.swf index 6befc43e8..fa31a2dc3 100644 Binary files a/tests/tests/swfs/avm2/flash_xml/test.swf and b/tests/tests/swfs/avm2/flash_xml/test.swf differ