[wdspec] Add "Get Element Text" tests for ShadowRoot with slot.

Differential Revision: https://phabricator.services.mozilla.com/D193651

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1824664
gecko-commit: 8c758adbe3cbecd8c1ea1990921a78072254e6f3
gecko-reviewers: webdriver-reviewers, jgraham
diff --git a/webdriver/tests/classic/get_element_text/get.py b/webdriver/tests/classic/get_element_text/get.py
index 2a2363c..547152b 100644
--- a/webdriver/tests/classic/get_element_text/get.py
+++ b/webdriver/tests/classic/get_element_text/get.py
@@ -102,6 +102,42 @@
     assert_success(result, "oo")
 
 
+@pytest.mark.parametrize("text, inner_html, expected", [
+    ("cheese", "<slot><span>foo</span>bar</slot>", "cheese"),
+    ("cheese", "<slot><span>foo</span></slot>bar", "cheesebar"),
+    ("cheese", "<slot><span style=\"display: none\">foo</span>bar</slot>", "cheese"),
+    ("", "<slot><span>foo</span>bar</slot>", "foobar"),
+    ("", "<slot><span>foo</span></slot>bar", "foobar"),
+    ("", "<slot><span style=\"display: none\">foo</span>bar</slot>", "bar"),
+], ids=[
+    "custom visible",
+    "custom outside",
+    "custom hidden",
+    "default visible",
+    "default outside",
+    "default hidden",
+])
+def test_shadow_root_slot(session, inline, text, inner_html, expected):
+    session.url = inline(f"""
+        <test-container>{text}</test-container>
+        <script>
+            class TestContainer extends HTMLElement {{
+                connectedCallback() {{
+                    const shadow = this.attachShadow({{ mode: "open" }});
+                    shadow.innerHTML = "{inner_html}";
+                }}
+            }}
+
+            customElements.define("test-container", TestContainer);
+        </script>
+        """)
+
+    element = session.find.css("test-container", all=False)
+
+    result = get_element_text(session, element.id)
+    assert_success(result, expected)
+
+
 def test_pretty_print_xml(session, inline):
     session.url = inline("<xml><foo>che<bar>ese</bar></foo></xml>", doctype="xml")