Id should be collected PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is false PASS internals.hasSelectorForIdInShadow(host, "host") is false Class should be collected PASS internals.hasSelectorForClassInShadow(host, "foo") is true PASS internals.hasSelectorForClassInShadow(host, "host") is false Attribute should be collected PASS internals.hasSelectorForAttributeInShadow(host, "foo") is true PASS internals.hasSelectorForAttributeInShadow(host, "host") is false Select attribute might have several selectors PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is false PASS internals.hasSelectorForIdInShadow(host, "baz") is false PASS internals.hasSelectorForClassInShadow(host, "foo") is false PASS internals.hasSelectorForClassInShadow(host, "bar") is true PASS internals.hasSelectorForClassInShadow(host, "baz") is false PASS internals.hasSelectorForAttributeInShadow(host, "foo") is false PASS internals.hasSelectorForAttributeInShadow(host, "bar") is false PASS internals.hasSelectorForAttributeInShadow(host, "baz") is true Don't count shadow element PASS internals.hasSelectorForIdInShadow(host, "foo") is false PASS internals.hasSelectorForIdInShadow(host, "bar") is false PASS internals.hasSelectorForIdInShadow(host, "baz") is false PASS internals.hasSelectorForClassInShadow(host, "foo") is false PASS internals.hasSelectorForClassInShadow(host, "bar") is false PASS internals.hasSelectorForClassInShadow(host, "baz") is false PASS internals.hasSelectorForAttributeInShadow(host, "foo") is false PASS internals.hasSelectorForAttributeInShadow(host, "bar") is false PASS internals.hasSelectorForAttributeInShadow(host, "baz") is false Complex case for single ShadowRoot PASS internals.hasSelectorForIdInShadow(host, "foo") is false PASS internals.hasSelectorForClassInShadow(host, "foo") is false PASS internals.hasSelectorForAttributeInShadow(host, "foo") is true PASS internals.hasSelectorForAttributeInShadow(host, "piyo") is false Another complex case for single ShadowRoot PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForClassInShadow(host, "foo") is true PASS internals.hasSelectorForAttributeInShadow(host, "foo") is true Multiple ShadowRoot case PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is true PASS internals.hasSelectorForIdInShadow(host, "baz") is false PASS internals.hasSelectorForClassInShadow(host, "foo") is false PASS internals.hasSelectorForClassInShadow(host, "bar") is true PASS internals.hasSelectorForClassInShadow(host, "baz") is false PASS internals.hasSelectorForAttributeInShadow(host, "foo") is false PASS internals.hasSelectorForAttributeInShadow(host, "bar") is false PASS internals.hasSelectorForAttributeInShadow(host, "baz") is true Dynamic select attribute update PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is false PASS internals.hasSelectorForIdInShadow(host, "foo") is false PASS internals.hasSelectorForIdInShadow(host, "bar") is true Nested ShadowDOM case PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is true PASS internals.hasSelectorForIdInShadow(host, "baz") is false PASS internals.hasSelectorForIdInShadow(host, "foo") is true PASS internals.hasSelectorForIdInShadow(host, "bar") is false PASS internals.hasSelectorForIdInShadow(host, "baz") is true PseudoClass case: :checked PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :enabled PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :disabled PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :indeterminate PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :link PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :target PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is true PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is false PseudoClass case: :visited PASS internals.hasSelectorForPseudoClassInShadow(host, "checked") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "enabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "disabled") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "indeterminate") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "link") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "target") is false PASS internals.hasSelectorForPseudoClassInShadow(host, "visited") is true PASS successfullyParsed is true TEST COMPLETE