\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-002.tentative.html b/css/css-scoping/has-slotted-002.tentative.html
new file mode 100644
index 00000000000000..40b4edb3841684
--- /dev/null
+++ b/css/css-scoping/has-slotted-002.tentative.html
@@ -0,0 +1,21 @@
+
+
+:has-slotted(...) negative test: no children or white space
+
+
+
Test passes if there is a filled green square.
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-003.tentative.html b/css/css-scoping/has-slotted-003.tentative.html
new file mode 100644
index 00000000000000..9565b1594c3ed7
--- /dev/null
+++ b/css/css-scoping/has-slotted-003.tentative.html
@@ -0,0 +1,22 @@
+
+
+:has-slotted(...) negative test: no children, but whitespace present
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-004.tentative.html b/css/css-scoping/has-slotted-004.tentative.html
new file mode 100644
index 00000000000000..2d980e10051eb5
--- /dev/null
+++ b/css/css-scoping/has-slotted-004.tentative.html
@@ -0,0 +1,23 @@
+
+
+:has-slotted(.class)
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-005.tentative.html b/css/css-scoping/has-slotted-005.tentative.html
new file mode 100644
index 00000000000000..3de7c16f287cb6
--- /dev/null
+++ b/css/css-scoping/has-slotted-005.tentative.html
@@ -0,0 +1,23 @@
+
+
+:has-slotted(.class) negative test
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-006.tentative.html b/css/css-scoping/has-slotted-006.tentative.html
new file mode 100644
index 00000000000000..aea5c6b2a141fd
--- /dev/null
+++ b/css/css-scoping/has-slotted-006.tentative.html
@@ -0,0 +1,25 @@
+
+
+:has-slotted(el) + :has-slotted(el)
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-007.tentative.html b/css/css-scoping/has-slotted-007.tentative.html
new file mode 100644
index 00000000000000..e750d97a180b5d
--- /dev/null
+++ b/css/css-scoping/has-slotted-007.tentative.html
@@ -0,0 +1,22 @@
+
+
+:has-slotted
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-001.tentative.html b/css/css-scoping/has-slotted-flattened-001.tentative.html
new file mode 100644
index 00000000000000..f14bdbc776d639
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-001.tentative.html
@@ -0,0 +1,28 @@
+
+
+:has-slotted(*) flattened through multiple slots
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-002.tentative.html b/css/css-scoping/has-slotted-flattened-002.tentative.html
new file mode 100644
index 00000000000000..f72ff1de5aa298
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-002.tentative.html
@@ -0,0 +1,23 @@
+
+
+:has-slotted(...) negative test: no children or white space
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-003.tentative.html b/css/css-scoping/has-slotted-flattened-003.tentative.html
new file mode 100644
index 00000000000000..bca81b971de20d
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-003.tentative.html
@@ -0,0 +1,27 @@
+
+
+:has-slotted(...) flattened through multiple slots, negative test: no children, but whitespace present
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-004.tentative.html b/css/css-scoping/has-slotted-flattened-004.tentative.html
new file mode 100644
index 00000000000000..7b299d25baa36f
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-004.tentative.html
@@ -0,0 +1,28 @@
+
+
+:has-slotted(.class) flattened through multiple slots
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-005.tentative.html b/css/css-scoping/has-slotted-flattened-005.tentative.html
new file mode 100644
index 00000000000000..7fccf604d8bcbf
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-005.tentative.html
@@ -0,0 +1,28 @@
+
+
+:has-slotted(.class) flattened through multiple slots, negative test
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-006.tentative.html b/css/css-scoping/has-slotted-flattened-006.tentative.html
new file mode 100644
index 00000000000000..cfe415c7948cbd
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-006.tentative.html
@@ -0,0 +1,31 @@
+
+
+:has-slotted(el) + :has-slotted(el) flattened through multiple slots
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/css-scoping/has-slotted-flattened-007.tentative.html b/css/css-scoping/has-slotted-flattened-007.tentative.html
new file mode 100644
index 00000000000000..0235f99e21f1c9
--- /dev/null
+++ b/css/css-scoping/has-slotted-flattened-007.tentative.html
@@ -0,0 +1,24 @@
+
+
+:has-slotted flattened through multiple slots
+
+
+
Test passes if there is a filled green square.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/css/selectors/parsing/parse-has-slotted.tentative.html b/css/selectors/parsing/parse-has-slotted.tentative.html
new file mode 100644
index 00000000000000..ed8f72ae4c9e60
--- /dev/null
+++ b/css/selectors/parsing/parse-has-slotted.tentative.html
@@ -0,0 +1,32 @@
+
+
+CSS Selectors: has slotted pseudo selectors
+
+
+
+
+
\ No newline at end of file