diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTest.java index 84de810aede..703386efb8e 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTest.java @@ -23,9 +23,13 @@ import org.jetbrains.k2js.test.SingleFileTranslationTest; import org.jetbrains.k2js.test.rhino.RhinoFunctionNativeObjectResultChecker; import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.Node; import javax.xml.parsers.DocumentBuilderFactory; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author Pavel Talanov @@ -66,6 +70,14 @@ public final class StdLibTest extends SingleFileTranslationTest { Map answer = new HashMap(); answer.put("document", document); + answer.put("Node", new DummyNode()); return answer; } + + //class cannot be private because Rhino won't be able to access it then + @SuppressWarnings({"FieldMayBeStatic", "UnusedDeclaration"}) + public static class DummyNode { + public final short ELEMENT_NODE = Node.ELEMENT_NODE; + public final short TEXT_NODE = Node.TEXT_NODE; + } } diff --git a/js/js.translator/testFiles/stdlib/cases/browserDocumentAccess.kt b/js/js.translator/testFiles/stdlib/cases/browserDocumentAccess.kt index 48760ee641d..2fb5dea4368 100644 --- a/js/js.translator/testFiles/stdlib/cases/browserDocumentAccess.kt +++ b/js/js.translator/testFiles/stdlib/cases/browserDocumentAccess.kt @@ -1,11 +1,15 @@ package test.browser import kotlin.browser.document +import org.w3c.dom.Node fun foo(): String { val element = document.getElementById("foo") if (element != null) { - element.appendChild(document.createTextNode("Some Dynamically Created Content!!!")) + val textNode = document.createTextNode("Some Dynamically Created Content!!!") + element.appendChild(textNode) + if (textNode.nodeType != Node.TEXT_NODE) return "The type of the node is ${textNode.nodeType}, ${Node.TEXT_NODE} was expected" } + if (element.nodeType != Node.ELEMENT_NODE) return "The type of the node is ${element.nodeType}, ${Node.ELEMENT_NODE} was expected" return element.textContent }