about summary refs log tree commit diff
path: root/tests/rustdoc-gui/rust-logo.goml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc-gui/rust-logo.goml')
-rw-r--r--tests/rustdoc-gui/rust-logo.goml58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/rust-logo.goml b/tests/rustdoc-gui/rust-logo.goml
new file mode 100644
index 00000000000..2d15e8b9699
--- /dev/null
+++ b/tests/rustdoc-gui/rust-logo.goml
@@ -0,0 +1,58 @@
+// This test ensures that the correct style is applied to the rust logo in the sidebar.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+
+define-function: (
+    "check-logo",
+    (theme, filter),
+    block {
+        // Going to the doc page.
+        goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+        // Changing theme.
+        local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+        reload:
+        assert-css: (".rust-logo", {"filter": |filter|})
+        // Going to the source code page.
+        goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+        // Changing theme (since it's local files, the local storage works by folder).
+        local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+        reload:
+        assert-css: (".rust-logo", {"filter": |filter|})
+        // Now we check that the non-rust logos don't have a CSS filter set.
+        goto: "file://" + |DOC_PATH| + "/huge_logo/index.html"
+        // Changing theme on the new page (again...).
+        local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+        reload:
+        // Check there is no rust logo
+        assert-false: ".rust-logo"
+        // Check there is no filter.
+        assert-css: (".sidebar .logo-container img", {"filter": "none"})
+    },
+)
+
+call-function: (
+    "check-logo",
+    {
+        "theme": "ayu",
+        "filter": "drop-shadow(rgb(255, 255, 255) 1px 0px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) 0px 1px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) -1px 0px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) 0px -1px 0px)",
+    },
+)
+call-function: (
+    "check-logo",
+    {
+        "theme": "dark",
+        "filter": "drop-shadow(rgb(255, 255, 255) 1px 0px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) 0px 1px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) -1px 0px 0px) " +
+            "drop-shadow(rgb(255, 255, 255) 0px -1px 0px)",
+    },
+)
+call-function: (
+    "check-logo",
+    {
+        "theme": "light",
+        "filter": "none",
+    },
+)