Pseudos after ::part() are valid (#43796)

<https://drafts.csswg.org/selectors/#pseudo-element-states> restricts pseudo-classes on pseudo-elements to the user action and logical combo ones *by default*, but allows other specs to allow other pseudos.

<https://drafts.csswg.org/css-shadow-parts/#part> allows all pseudo-classes (but defines that a few never match, if they reveal tree structure).
diff --git a/css/selectors/parsing/parse-part.html b/css/selectors/parsing/parse-part.html
index d6ee5d5..f0bec6f 100644
--- a/css/selectors/parsing/parse-part.html
+++ b/css/selectors/parsing/parse-part.html
@@ -24,11 +24,11 @@
   test_valid_selector("::part(foo):is(:focus)");
   test_valid_selector(":lang(en)::part(foo)");
   test_valid_selector(":dir(ltr)::part(foo)");
+  test_valid_selector("::part(foo):lang(en)");
+  test_valid_selector("::part(foo):dir(ltr)");
   test_invalid_selector(":part()");
   test_invalid_selector(":part(0)");
   test_invalid_selector(":part('foo')");
   test_invalid_selector(":part([foo])");
-  test_invalid_selector("::part(foo):lang(en)");
-  test_invalid_selector("::part(foo):dir(ltr)");
   test_invalid_selector('::part(foo) + ::part(bar)');
 </script>