srctree

Robin Linden parent 4045095a d03ac092
css: Treat media-queries that fail to parse as always false

inlinesplit
css/parser.cpp added: 4, removed: 3, total 1
@@ -265,6 +265,7 @@ StyleSheet Parser::parse_rules() {
media_query = MediaQuery::parse(*tmp_query);
if (!media_query) {
spdlog::warn("Unable to parse media query: '{}'", *tmp_query);
media_query = MediaQuery{MediaQuery::False{}};
}
consume_char(); // {
skip_whitespace_and_comments();
 
css/parser_test.cpp added: 4, removed: 3, total 1
@@ -296,7 +296,7 @@ int main() {
etest::test("parser: bad media query", [] {
auto rules = css::parse("@media (rip: 0) { p { font-size: 10px; } }").rules;
auto const &rule = rules.at(0);
expect_eq(rule.media_query, std::nullopt);
expect_eq(rule.media_query, css::MediaQuery{css::MediaQuery::False{}});
expect_eq(rule.selectors, std::vector{"p"s});
require_eq(rule.declarations.size(), std::size_t{1});
expect_eq(rule.declarations.at(css::PropertyId::FontSize), "10px");