diff options
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.cc | 17 |
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"}, |