mirror of
https://github.com/swc-project/swc.git
synced 2024-11-24 02:06:08 +03:00
fix(css/parser): Fix parser logic related to case insensivity (#3382)
This commit is contained in:
parent
930a1c2405
commit
3ded88bffc
@ -1,12 +1,3 @@
|
||||
macro_rules! ident_tok {
|
||||
($tt:tt) => {
|
||||
swc_css_ast::Token::Ident {
|
||||
value: swc_atoms::js_word!($tt),
|
||||
..
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! tok {
|
||||
("num") => {
|
||||
swc_css_ast::Token::Num { .. }
|
||||
@ -175,20 +166,4 @@ macro_rules! tok {
|
||||
("important") => {
|
||||
ident_tok!("important")
|
||||
};
|
||||
|
||||
("not") => {
|
||||
ident_tok!("not")
|
||||
};
|
||||
|
||||
("or") => {
|
||||
ident_tok!("or")
|
||||
};
|
||||
|
||||
("and") => {
|
||||
ident_tok!("and")
|
||||
};
|
||||
|
||||
("only") => {
|
||||
ident_tok!("only")
|
||||
};
|
||||
}
|
||||
|
@ -351,7 +351,7 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
let supports = if is_one_of!(self, "not", "(") {
|
||||
let supports = if is_case_insensitive_ident!(self, "not") || is!(self, "(") {
|
||||
ImportSupportsType::SupportsCondition(self.parse()?)
|
||||
} else {
|
||||
ImportSupportsType::Declaration(self.parse()?)
|
||||
@ -534,7 +534,7 @@ where
|
||||
let mut last_pos;
|
||||
let mut conditions = vec![];
|
||||
|
||||
if is!(self, "not") {
|
||||
if is_case_insensitive_ident!(self, "not") {
|
||||
let not = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -549,8 +549,8 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
if is!(self, "and") {
|
||||
while is!(self, "and") {
|
||||
if is_case_insensitive_ident!(self, "and") {
|
||||
while is_case_insensitive_ident!(self, "and") {
|
||||
let and = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -559,8 +559,8 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
}
|
||||
} else if is!(self, "or") {
|
||||
while is!(self, "or") {
|
||||
} else if is_case_insensitive_ident!(self, "or") {
|
||||
while is_case_insensitive_ident!(self, "or") {
|
||||
let or = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -586,7 +586,7 @@ where
|
||||
fn parse(&mut self) -> PResult<SupportsNot> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "not");
|
||||
expect_case_insensitive_ident!(self, "not");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -606,7 +606,7 @@ where
|
||||
fn parse(&mut self) -> PResult<SupportsAnd> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "and");
|
||||
expect_case_insensitive_ident!(self, "and");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -626,7 +626,7 @@ where
|
||||
fn parse(&mut self) -> PResult<SupportsOr> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "or");
|
||||
expect_case_insensitive_ident!(self, "or");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -650,7 +650,7 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
if !is!(self, "(") && !is!(self, "not") {
|
||||
if !is!(self, "(") && !is_case_insensitive_ident!(self, "not") {
|
||||
self.input.reset(&state);
|
||||
|
||||
return Ok(SupportsInParens::Feature(self.parse()?));
|
||||
@ -885,8 +885,7 @@ where
|
||||
let start_pos = self.input.cur_span()?.lo;
|
||||
let state = self.input.state();
|
||||
|
||||
// TODO uppercase acceptable
|
||||
let mut modifier = if is!(self, "not") || is!(self, "only") {
|
||||
let mut modifier = if is_one_of_case_insensitive_ident!(self, "not", "only") {
|
||||
let modifier = Some(self.parse()?);
|
||||
|
||||
self.input.skip_ws()?;
|
||||
@ -898,7 +897,9 @@ where
|
||||
|
||||
let mut last_pos = self.input.last_pos()?;
|
||||
|
||||
let media_type = if !is!(self, Ident) || is_one_of!(self, "not", "and", "or", "only") {
|
||||
let media_type = if !is!(self, Ident)
|
||||
|| is_one_of_case_insensitive_ident!(self, "not", "and", "or", "only")
|
||||
{
|
||||
None
|
||||
} else {
|
||||
let media_type = Some(self.parse()?);
|
||||
@ -911,7 +912,9 @@ where
|
||||
};
|
||||
|
||||
let condition = if media_type.is_some() {
|
||||
if eat!(self, "and") {
|
||||
if is_one_of_case_insensitive_ident!(self, "and") {
|
||||
bump!(self);
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
let condition_without_or: MediaConditionWithoutOr = self.parse()?;
|
||||
@ -954,7 +957,7 @@ where
|
||||
let mut last_pos;
|
||||
let mut conditions = vec![];
|
||||
|
||||
if is!(self, "not") {
|
||||
if is_case_insensitive_ident!(self, "not") {
|
||||
let not = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -969,8 +972,8 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
if is!(self, "and") {
|
||||
while is!(self, "and") {
|
||||
if is_case_insensitive_ident!(self, "and") {
|
||||
while is_case_insensitive_ident!(self, "and") {
|
||||
let and = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -979,8 +982,8 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
}
|
||||
} else if is!(self, "or") {
|
||||
while is!(self, "or") {
|
||||
} else if is_case_insensitive_ident!(self, "or") {
|
||||
while is_case_insensitive_ident!(self, "or") {
|
||||
let or = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -1010,7 +1013,7 @@ where
|
||||
let mut last_pos;
|
||||
let mut conditions = vec![];
|
||||
|
||||
if is!(self, "not") {
|
||||
if is_case_insensitive_ident!(self, "not") {
|
||||
let not = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -1025,8 +1028,8 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
if is!(self, "and") {
|
||||
while is!(self, "and") {
|
||||
if is_case_insensitive_ident!(self, "and") {
|
||||
while is_case_insensitive_ident!(self, "and") {
|
||||
let and = self.parse()?;
|
||||
|
||||
last_pos = self.input.last_pos()?;
|
||||
@ -1052,7 +1055,7 @@ where
|
||||
fn parse(&mut self) -> PResult<MediaNot> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "not");
|
||||
expect_case_insensitive_ident!(self, "not");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -1072,7 +1075,7 @@ where
|
||||
fn parse(&mut self) -> PResult<MediaAnd> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "and");
|
||||
expect_case_insensitive_ident!(self, "and");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -1092,7 +1095,7 @@ where
|
||||
fn parse(&mut self) -> PResult<MediaOr> {
|
||||
let span = self.input.cur_span()?;
|
||||
|
||||
expect!(self, "or");
|
||||
expect_case_insensitive_ident!(self, "or");
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
@ -1116,7 +1119,7 @@ where
|
||||
|
||||
self.input.skip_ws()?;
|
||||
|
||||
if !is!(self, "(") && !is!(self, "not") {
|
||||
if !is!(self, "(") && !is_case_insensitive_ident!(self, "not") {
|
||||
self.input.reset(&state);
|
||||
|
||||
return Ok(MediaInParens::Feature(self.parse()?));
|
||||
|
@ -84,6 +84,51 @@ macro_rules! bump {
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! is_case_insensitive_ident {
|
||||
($parser:expr, $tt:tt) => {{
|
||||
match $parser.input.cur()? {
|
||||
Some(swc_css_ast::Token::Ident { value, .. })
|
||||
if &*value.to_ascii_lowercase() == $tt =>
|
||||
{
|
||||
true
|
||||
}
|
||||
_ => false,
|
||||
}
|
||||
}};
|
||||
}
|
||||
|
||||
macro_rules! expect_case_insensitive_ident {
|
||||
($parser:expr, $tt:tt) => {
|
||||
if is_case_insensitive_ident!($parser, $tt) {
|
||||
bump!($parser);
|
||||
} else {
|
||||
let span = $parser.input.cur_span()?;
|
||||
|
||||
return Err(crate::error::Error::new(
|
||||
span,
|
||||
crate::error::ErrorKind::ExpectedButGot(stringify!($tt)),
|
||||
));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! is_one_of_case_insensitive_ident {
|
||||
($parser:expr, $($tt:tt),+) => {
|
||||
match $parser.input.cur()? {
|
||||
Some(swc_css_ast::Token::Ident { value, .. }) => {
|
||||
let lowercased = &*value.to_ascii_lowercase();
|
||||
|
||||
if $(lowercased == $tt)||* {
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
_ => false,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! is {
|
||||
($parser:expr, EOF) => {{
|
||||
$parser.input.cur()?.is_none()
|
||||
|
@ -44,7 +44,7 @@ test.css
|
||||
@import url('');
|
||||
@import url("");
|
||||
@import url(test.css) screen and (orientation:landscape);
|
||||
/*@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);*/
|
||||
@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
@import url(test.css)screen and (orientation:landscape);
|
||||
@import url(test.css) screen and ( orientation : landscape ) ;
|
||||
@import url(test.css) screen and (orientation:landscape);
|
||||
@ -137,8 +137,8 @@ st.css');
|
||||
@import url("http://example.com/style.css") supports(display: flex) screen and (min-width: 400px);
|
||||
@import url("./test.css")layer(default)supports(display: flex)screen and (min-width:400px);
|
||||
@import url("./test.css")screen and (min-width: 400px);
|
||||
/*@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );*/
|
||||
/*@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);*/
|
||||
@import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
@import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
@import url("./test.css") /* Comment */ layer(/* Comment */default/* Comment */) /* Comment */ supports(/* Comment */display/* Comment */:/* Comment */ flex/* Comment */)/* Comment */ screen/* Comment */ and/* Comment */ (/* Comment */min-width/* Comment */: /* Comment */400px/* Comment */);
|
||||
@import url(test.css) /* Comment */;
|
||||
@import /* Comment */ url(test.css) /* Comment */;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2453,6 +2453,126 @@ error: Ident
|
||||
46 | @import url(test.css) screen and (orientation:landscape);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:1
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:1
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:1
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportHref
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:9
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Url
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:9
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:9
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^
|
||||
|
||||
error: UrlValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:13
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^
|
||||
|
||||
error: UrlValueRaw
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:13
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:23
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:23
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:23
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOr
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:34
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOrType
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:34
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:34
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:34
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:34
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:35
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:35
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:48
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:47:48
|
||||
|
|
||||
47 | @import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:48:1
|
||||
|
|
||||
@ -7030,6 +7150,402 @@ error: Unit
|
||||
139 | @import url("./test.css")screen and (min-width: 400px);
|
||||
| ^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:1
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:1
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:1
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportHref
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:9
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Url
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:9
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:9
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^
|
||||
|
||||
error: UrlValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:13
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: Str
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:13
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: ImportLayerName
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:31
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Function
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:31
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:31
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:42
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:42
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^
|
||||
|
||||
error: ImportSupportsType
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:74
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:74
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:74
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:74
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:92
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:92
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:107
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:107
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:107
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOr
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:126
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOrType
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:126
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:126
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:126
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:126
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:132
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:132
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:152
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:152
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:152
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:140:155
|
||||
|
|
||||
140 | @import url("./test.css") layer( default ) supports( display : flex ) screen and ( min-width : 400px );
|
||||
| ^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:1
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:1
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportRule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:1
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: ImportHref
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:9
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Url
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:9
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:9
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^
|
||||
|
||||
error: UrlValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:13
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: Str
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:13
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: ImportLayerName
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:27
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Function
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:27
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:27
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:33
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:33
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^
|
||||
|
||||
error: ImportSupportsType
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:51
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:51
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:51
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:51
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:60
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:60
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:66
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:66
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:66
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOr
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:77
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOrType
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:77
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:77
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:77
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:77
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:78
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:78
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:89
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:89
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:89
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:141:92
|
||||
|
|
||||
141 | @import url("./test.css") LAYER(DEFAULT) SUPPORTS(DISPLAY: FLEX) SCREEN AND (MIN-WIDTH: 400PX);
|
||||
| ^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/import/input.css:142:1
|
||||
|
|
||||
|
@ -103,3 +103,8 @@
|
||||
|
||||
@media ((min-width: 800px) and (min-width: 800px)) or (min-width: 800px) {}
|
||||
@media (min-width: 800px) and ((min-width: 800px) or (min-width: 800px)) {}
|
||||
|
||||
@media NOT all {}
|
||||
@media ONLY screen AND (color) {}
|
||||
@media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
@media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"type": "Stylesheet",
|
||||
"span": {
|
||||
"start": 0,
|
||||
"end": 3723,
|
||||
"end": 3935,
|
||||
"ctxt": 0
|
||||
},
|
||||
"rules": [
|
||||
@ -9173,6 +9173,529 @@
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "MediaRule",
|
||||
"span": {
|
||||
"start": 3724,
|
||||
"end": 3748,
|
||||
"ctxt": 0
|
||||
},
|
||||
"media": {
|
||||
"type": "MediaQueryList",
|
||||
"span": {
|
||||
"start": 3734,
|
||||
"end": 3743,
|
||||
"ctxt": 0
|
||||
},
|
||||
"queries": [
|
||||
{
|
||||
"type": "MediaQuery",
|
||||
"span": {
|
||||
"start": 3734,
|
||||
"end": 3743,
|
||||
"ctxt": 0
|
||||
},
|
||||
"modifier": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3734,
|
||||
"end": 3737,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "NOT",
|
||||
"raw": "NOT"
|
||||
},
|
||||
"mediaType": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3740,
|
||||
"end": 3743,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "all",
|
||||
"raw": "all"
|
||||
},
|
||||
"condition": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "MediaRule",
|
||||
"span": {
|
||||
"start": 3749,
|
||||
"end": 3782,
|
||||
"ctxt": 0
|
||||
},
|
||||
"media": {
|
||||
"type": "MediaQueryList",
|
||||
"span": {
|
||||
"start": 3756,
|
||||
"end": 3779,
|
||||
"ctxt": 0
|
||||
},
|
||||
"queries": [
|
||||
{
|
||||
"type": "MediaQuery",
|
||||
"span": {
|
||||
"start": 3756,
|
||||
"end": 3779,
|
||||
"ctxt": 0
|
||||
},
|
||||
"modifier": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3756,
|
||||
"end": 3760,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "ONLY",
|
||||
"raw": "ONLY"
|
||||
},
|
||||
"mediaType": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3761,
|
||||
"end": 3767,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "screen",
|
||||
"raw": "screen"
|
||||
},
|
||||
"condition": {
|
||||
"type": "MediaConditionWithoutOr",
|
||||
"span": {
|
||||
"start": 3772,
|
||||
"end": 3779,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "MediaFeatureBoolean",
|
||||
"span": {
|
||||
"start": 3772,
|
||||
"end": 3779,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3773,
|
||||
"end": 3778,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "color",
|
||||
"raw": "color"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "MediaRule",
|
||||
"span": {
|
||||
"start": 3783,
|
||||
"end": 3858,
|
||||
"ctxt": 0
|
||||
},
|
||||
"media": {
|
||||
"type": "MediaQueryList",
|
||||
"span": {
|
||||
"start": 3790,
|
||||
"end": 3855,
|
||||
"ctxt": 0
|
||||
},
|
||||
"queries": [
|
||||
{
|
||||
"type": "MediaQuery",
|
||||
"span": {
|
||||
"start": 3790,
|
||||
"end": 3855,
|
||||
"ctxt": 0
|
||||
},
|
||||
"modifier": null,
|
||||
"mediaType": null,
|
||||
"condition": {
|
||||
"type": "MediaCondition",
|
||||
"span": {
|
||||
"start": 3790,
|
||||
"end": 3855,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "MediaCondition",
|
||||
"span": {
|
||||
"start": 3791,
|
||||
"end": 3832,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3791,
|
||||
"end": 3809,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3792,
|
||||
"end": 3801,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3803,
|
||||
"end": 3808,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3803,
|
||||
"end": 3806,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3806,
|
||||
"end": 3808,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "MediaAnd",
|
||||
"span": {
|
||||
"start": 3810,
|
||||
"end": 3832,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3814,
|
||||
"end": 3832,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3815,
|
||||
"end": 3824,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3826,
|
||||
"end": 3831,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3826,
|
||||
"end": 3829,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3829,
|
||||
"end": 3831,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "MediaOr",
|
||||
"span": {
|
||||
"start": 3834,
|
||||
"end": 3855,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3837,
|
||||
"end": 3855,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3838,
|
||||
"end": 3847,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3849,
|
||||
"end": 3854,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3849,
|
||||
"end": 3852,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3852,
|
||||
"end": 3854,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "MediaRule",
|
||||
"span": {
|
||||
"start": 3859,
|
||||
"end": 3934,
|
||||
"ctxt": 0
|
||||
},
|
||||
"media": {
|
||||
"type": "MediaQueryList",
|
||||
"span": {
|
||||
"start": 3866,
|
||||
"end": 3931,
|
||||
"ctxt": 0
|
||||
},
|
||||
"queries": [
|
||||
{
|
||||
"type": "MediaQuery",
|
||||
"span": {
|
||||
"start": 3866,
|
||||
"end": 3931,
|
||||
"ctxt": 0
|
||||
},
|
||||
"modifier": null,
|
||||
"mediaType": null,
|
||||
"condition": {
|
||||
"type": "MediaCondition",
|
||||
"span": {
|
||||
"start": 3866,
|
||||
"end": 3931,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3866,
|
||||
"end": 3884,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3867,
|
||||
"end": 3876,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3878,
|
||||
"end": 3883,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3878,
|
||||
"end": 3881,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3881,
|
||||
"end": 3883,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "MediaAnd",
|
||||
"span": {
|
||||
"start": 3885,
|
||||
"end": 3931,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "MediaCondition",
|
||||
"span": {
|
||||
"start": 3890,
|
||||
"end": 3930,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3890,
|
||||
"end": 3908,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3891,
|
||||
"end": 3900,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3902,
|
||||
"end": 3907,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3902,
|
||||
"end": 3905,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3905,
|
||||
"end": 3907,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "MediaOr",
|
||||
"span": {
|
||||
"start": 3909,
|
||||
"end": 3930,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "MediaFeaturePlain",
|
||||
"span": {
|
||||
"start": 3912,
|
||||
"end": 3930,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 3913,
|
||||
"end": 3922,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "min-width",
|
||||
"raw": "min-width"
|
||||
},
|
||||
"value": {
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 3924,
|
||||
"end": 3929,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 3924,
|
||||
"end": 3927,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 800.0,
|
||||
"raw": "800"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 3927,
|
||||
"end": 3929,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "px",
|
||||
"raw": "px"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ error: Stylesheet
|
||||
3 | |
|
||||
4 | | @media all {}
|
||||
... |
|
||||
104 | | @media ((min-width: 800px) and (min-width: 800px)) or (min-width: 800px) {}
|
||||
105 | | @media (min-width: 800px) and ((min-width: 800px) or (min-width: 800px)) {}
|
||||
109 | | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
110 | | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| |____________________________________________________________________________^
|
||||
|
||||
error: Rule
|
||||
@ -10480,3 +10480,621 @@ error: Unit
|
||||
105 | @media (min-width: 800px) and ((min-width: 800px) or (min-width: 800px)) {}
|
||||
| ^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:1
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:1
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:1
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:11
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:11
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:11
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:107:17
|
||||
|
|
||||
107 | @media NOT all {}
|
||||
| ^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:1
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:1
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:1
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:8
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:8
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:8
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:13
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOr
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:24
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: MediaConditionWithoutOrType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:24
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:24
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:24
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: MediaFeatureBoolean
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:24
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:25
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:108:25
|
||||
|
|
||||
108 | @media ONLY screen AND (color) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:1
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:1
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:1
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:8
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:8
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaCondition
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:8
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaCondition
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:9
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:10
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:10
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:21
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:21
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:21
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:24
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:28
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaAnd
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:28
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:32
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:32
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:32
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:33
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:33
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:44
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:44
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:44
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:47
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:52
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaOr
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:52
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:55
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:55
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:55
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:56
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:56
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:67
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:67
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:67
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:109:70
|
||||
|
|
||||
109 | @media ((min-width: 800px) AND (min-width: 800px)) OR (min-width: 800px) {}
|
||||
| ^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:1
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:1
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaRule
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:1
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQueryList
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaQuery
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaCondition
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:8
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:9
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:9
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:20
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:20
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:20
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:23
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:27
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaAnd
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:27
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaCondition
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:32
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:33
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:33
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:44
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:44
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:44
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:47
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^
|
||||
|
||||
error: MediaConditionAllType
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:51
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaOr
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:51
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaInParens
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:54
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeature
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:54
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeaturePlain
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:54
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: MediaFeatureName
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:55
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:55
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: MediaFeatureValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:66
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:66
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:66
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/media/input.css:110:69
|
||||
|
|
||||
110 | @media (min-width: 800px) AND ((min-width: 800px) OR (min-width: 800px)) {}
|
||||
| ^^
|
||||
|
||||
|
@ -31,3 +31,7 @@
|
||||
@supports(transition-property:color)or ((animation-name:foo)and (transform:rotate(10deg))){}
|
||||
@supports ((display: flex)) {}
|
||||
@supports (display: flex !important) {}
|
||||
@supports NOT (display: flex) {}
|
||||
@supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
@supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
@supports (NOT (display: flex)) {}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"type": "Stylesheet",
|
||||
"span": {
|
||||
"start": 0,
|
||||
"end": 1241,
|
||||
"end": 1509,
|
||||
"ctxt": 0
|
||||
},
|
||||
"rules": [
|
||||
@ -2265,6 +2265,482 @@
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "SupportsRule",
|
||||
"span": {
|
||||
"start": 1241,
|
||||
"end": 1273,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1251,
|
||||
"end": 1270,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "SupportsNot",
|
||||
"span": {
|
||||
"start": 1251,
|
||||
"end": 1270,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1256,
|
||||
"end": 1269,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1256,
|
||||
"end": 1263,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "display",
|
||||
"raw": "display"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1265,
|
||||
"end": 1269,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "flex",
|
||||
"raw": "flex"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "SupportsRule",
|
||||
"span": {
|
||||
"start": 1274,
|
||||
"end": 1373,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1284,
|
||||
"end": 1370,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1285,
|
||||
"end": 1338,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1286,
|
||||
"end": 1312,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1286,
|
||||
"end": 1305,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "transition-property",
|
||||
"raw": "transition-property"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1307,
|
||||
"end": 1312,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "color",
|
||||
"raw": "color"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
},
|
||||
{
|
||||
"type": "SupportsOr",
|
||||
"span": {
|
||||
"start": 1314,
|
||||
"end": 1338,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1318,
|
||||
"end": 1337,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1318,
|
||||
"end": 1332,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "animation-name",
|
||||
"raw": "animation-name"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1334,
|
||||
"end": 1337,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "foo",
|
||||
"raw": "foo"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SupportsAnd",
|
||||
"span": {
|
||||
"start": 1340,
|
||||
"end": 1370,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1345,
|
||||
"end": 1369,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1345,
|
||||
"end": 1354,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "transform",
|
||||
"raw": "transform"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Function",
|
||||
"span": {
|
||||
"start": 1356,
|
||||
"end": 1369,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1356,
|
||||
"end": 1362,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "rotate",
|
||||
"raw": "rotate"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 1363,
|
||||
"end": 1368,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 1363,
|
||||
"end": 1365,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 10.0,
|
||||
"raw": "10"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 1365,
|
||||
"end": 1368,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "deg",
|
||||
"raw": "deg"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "SupportsRule",
|
||||
"span": {
|
||||
"start": 1374,
|
||||
"end": 1473,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1384,
|
||||
"end": 1470,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1385,
|
||||
"end": 1411,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1385,
|
||||
"end": 1404,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "transition-property",
|
||||
"raw": "transition-property"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1406,
|
||||
"end": 1411,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "color",
|
||||
"raw": "color"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
},
|
||||
{
|
||||
"type": "SupportsOr",
|
||||
"span": {
|
||||
"start": 1413,
|
||||
"end": 1470,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1417,
|
||||
"end": 1469,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1418,
|
||||
"end": 1437,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1418,
|
||||
"end": 1432,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "animation-name",
|
||||
"raw": "animation-name"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1434,
|
||||
"end": 1437,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "foo",
|
||||
"raw": "foo"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
},
|
||||
{
|
||||
"type": "SupportsAnd",
|
||||
"span": {
|
||||
"start": 1439,
|
||||
"end": 1469,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1444,
|
||||
"end": 1468,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1444,
|
||||
"end": 1453,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "transform",
|
||||
"raw": "transform"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Function",
|
||||
"span": {
|
||||
"start": 1455,
|
||||
"end": 1468,
|
||||
"ctxt": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1455,
|
||||
"end": 1461,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "rotate",
|
||||
"raw": "rotate"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "UnitValue",
|
||||
"span": {
|
||||
"start": 1462,
|
||||
"end": 1467,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": {
|
||||
"type": "Number",
|
||||
"span": {
|
||||
"start": 1462,
|
||||
"end": 1464,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": 10.0,
|
||||
"raw": "10"
|
||||
},
|
||||
"unit": {
|
||||
"span": {
|
||||
"start": 1464,
|
||||
"end": 1467,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "deg",
|
||||
"raw": "deg"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
{
|
||||
"type": "SupportsRule",
|
||||
"span": {
|
||||
"start": 1474,
|
||||
"end": 1508,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1484,
|
||||
"end": 1505,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "SupportsCondition",
|
||||
"span": {
|
||||
"start": 1485,
|
||||
"end": 1504,
|
||||
"ctxt": 0
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "SupportsNot",
|
||||
"span": {
|
||||
"start": 1485,
|
||||
"end": 1504,
|
||||
"ctxt": 0
|
||||
},
|
||||
"condition": {
|
||||
"type": "Declaration",
|
||||
"span": {
|
||||
"start": 1490,
|
||||
"end": 1503,
|
||||
"ctxt": 0
|
||||
},
|
||||
"property": {
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1490,
|
||||
"end": 1497,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "display",
|
||||
"raw": "display"
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"type": "Identifier",
|
||||
"span": {
|
||||
"start": 1499,
|
||||
"end": 1503,
|
||||
"ctxt": 0
|
||||
},
|
||||
"value": "flex",
|
||||
"raw": "flex"
|
||||
}
|
||||
],
|
||||
"important": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ error: Stylesheet
|
||||
3 | | display: grid;
|
||||
4 | | }
|
||||
... |
|
||||
32 | | @supports ((display: flex)) {}
|
||||
33 | | @supports (display: flex !important) {}
|
||||
| |________________________________________^
|
||||
36 | | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
37 | | @supports (NOT (display: flex)) {}
|
||||
| |___________________________________^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:1:1
|
||||
@ -2834,3 +2834,627 @@ error: Ident
|
||||
33 | @supports (display: flex !important) {}
|
||||
| ^^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:1
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:1
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:1
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:11
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:11
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsNot
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:11
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:16
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:16
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:16
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:16
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:16
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:25
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:34:25
|
||||
|
|
||||
34 | @supports NOT (display: flex) {}
|
||||
| ^^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:1
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:1
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:1
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:11
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:12
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:12
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:12
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:13
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:34
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:34
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:41
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsOr
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:41
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:45
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:45
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:45
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:45
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:45
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:61
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:61
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:67
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsAnd
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:67
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:72
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:72
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:72
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:72
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:72
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:83
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Function
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:83
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:83
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:90
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:90
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:90
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:35:92
|
||||
|
|
||||
35 | @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {}
|
||||
| ^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:1
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:1
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:1
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:11
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:12
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:33
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:33
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:40
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsOr
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:40
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:44
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:44
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:45
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:61
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:61
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:66
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsAnd
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:66
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:71
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:71
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:71
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:71
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:71
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:82
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Function
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:82
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:82
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:89
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^
|
||||
|
||||
error: UnitValue
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:89
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^^^
|
||||
|
||||
error: Number
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:89
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^
|
||||
|
||||
error: Unit
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:36:91
|
||||
|
|
||||
36 | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {}
|
||||
| ^^^
|
||||
|
||||
error: Rule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:1
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: AtRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:1
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsRule
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:1
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:11
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsConditionType
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:12
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:12
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsCondition
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:12
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsNot
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:12
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsInParens
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:17
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: SupportsFeature
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:17
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Declaration
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:17
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: DeclarationProperty
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:17
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:17
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: Value
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:26
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^
|
||||
|
||||
error: Ident
|
||||
--> $DIR/tests/fixture/at-rule/supports/input.css:37:26
|
||||
|
|
||||
37 | @supports (NOT (display: flex)) {}
|
||||
| ^^^^
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user