[PATCH v2 05/16] mshtml/tests: Add more tests for builtin objects' toString and names.

Gabriel Ivăncescu gabrielopcode at gmail.com
Tue Oct 5 09:18:38 CDT 2021


Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
 dlls/mshtml/tests/documentmode.js | 57 +++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index 70cc491..4a3695d 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -171,6 +171,63 @@ sync_test("builtin_toString", function() {
     ok(e.toString() === "", "tag 'area' (without href) toString returned " + e.toString());
     e.href = "https://www.winehq.org/";
     test("tag 'area'", e, "HTMLAreaElement", "https://www.winehq.org/");
+
+    e = document.createElement("style");
+    document.body.appendChild(e);
+    var sheet = v >= 9 ? e.sheet : e.styleSheet;
+    if(v >= 9)
+        sheet.insertRule("div { border: none }", 0);
+    else
+        sheet.addRule("div", "border: none", 0);
+
+    e = document.createElement("p");
+    e.className = "testclass    another ";
+    e.textContent = "Test content";
+    e.style.border = "1px solid black";
+    document.body.appendChild(e);
+
+    var txtRange = document.body.createTextRange();
+    txtRange.moveToElementText(e);
+
+    test("attribute", document.createAttribute("class"), "Attr");
+    if(false /* todo_wine */) test("attributes", e.attributes, "NamedNodeMap");
+    test("childNodes", document.body.childNodes, "NodeList");
+    test("clientRect", e.getClientRects()[0], "ClientRect");
+    test("clientRects", e.getClientRects(), "ClientRectList");
+    test("currentStyle", e.currentStyle, "MSCurrentStyleCSSProperties");
+    test("history", window.history, "History");
+    test("implementation", document.implementation, "DOMImplementation");
+    test("localStorage", window.localStorage, "Storage");
+    test("location", window.location, "Object", window.location.href);
+    test("navigator", window.navigator, "Navigator");
+    test("screen", window.screen, "Screen");
+    test("sessionStorage", window.sessionStorage, "Storage");
+    test("styleSheet", sheet, "CSSStyleSheet");
+    test("styleSheetRule", sheet.rules.item(0), "CSSStyleRule");
+    test("styleSheetRules", sheet.rules, "MSCSSRuleList");
+    test("styleSheets", document.styleSheets, "StyleSheetList");
+    test("textRange", txtRange, "TextRange");
+    test("xmlHttpRequest", new XMLHttpRequest(), "XMLHttpRequest");
+    if(v < 10) {
+        test("namespaces", document.namespaces, "MSNamespaceInfoCollection");
+    }
+    if(v < 11) {
+        test("eventObject", document.createEventObject(), "MSEventObj");
+        test("selection", document.selection, "MSSelection");
+    }
+    if(v >= 9) {
+        test("computedStyle", window.getComputedStyle(e), "CSSStyleDeclaration");
+
+        test("Event", document.createEvent("Event"), "Event");
+        test("CustomEvent", document.createEvent("CustomEvent"), "CustomEvent");
+        test("KeyboardEvent", document.createEvent("KeyboardEvent"), "KeyboardEvent");
+        test("MouseEvent", document.createEvent("MouseEvent"), "MouseEvent");
+        test("UIEvent", document.createEvent("UIEvent"), "UIEvent");
+    }
+    if(v >= 10) {
+        test("classList", e.classList, "DOMTokenList", "testclass    another ");
+        test("console", window.console, "Console");
+    }
 });
 
 sync_test("elem_props", function() {
-- 
2.31.1




More information about the wine-devel mailing list