summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc b/chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
index 19c40798228..ae5410b08a0 100644
--- a/chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
+++ b/chromium/third_party/blink/renderer/core/css/parser/css_selector_parser_test.cc
@@ -287,6 +287,23 @@ TEST(CSSSelectorParserTest, UnresolvedNamespacePrefix) {
}
}
+TEST(CSSSelectorParserTest, UnexpectedPipe) {
+ const char* test_cases[] = {"div | .c", "| div", " | div"};
+
+ auto* context = MakeGarbageCollected<CSSParserContext>(
+ kHTMLStandardMode, SecureContextMode::kInsecureContext);
+ auto* sheet = MakeGarbageCollected<StyleSheetContents>(context);
+
+ for (auto* test_case : test_cases) {
+ CSSTokenizer tokenizer(test_case);
+ const auto tokens = tokenizer.TokenizeToEOF();
+ CSSParserTokenRange range(tokens);
+ CSSSelectorList list =
+ CSSSelectorParser::ParseSelector(range, context, sheet);
+ EXPECT_FALSE(list.IsValid());
+ }
+}
+
TEST(CSSSelectorParserTest, SerializedUniversal) {
const char* test_cases[][2] = {
{"*::-webkit-volume-slider", "::-webkit-volume-slider"},