mirror of
https://github.com/servo/servo.git
synced 2025-08-16 10:55:34 +01:00
implement support for the width media query
failing test for correct to_css of "width" separate test for mq and to_css implement css serialization for Eq remove PASS test expectation remove FIXME simplify serialization
This commit is contained in:
parent
a093b56c84
commit
84e9277771
3 changed files with 33 additions and 10 deletions
|
@ -13,6 +13,7 @@ use style::media_queries::*;
|
|||
use style::parser::ParserContextExtraData;
|
||||
use style::stylesheets::{Stylesheet, Origin, CssRule};
|
||||
use style::values::specified;
|
||||
use style_traits::ToCss;
|
||||
|
||||
pub struct CSSErrorReporterTest;
|
||||
|
||||
|
@ -242,6 +243,18 @@ fn test_mq_expressions() {
|
|||
}
|
||||
});
|
||||
|
||||
test_media_rule("@media print and (width: 43px) { }", |list, css| {
|
||||
assert!(list.media_queries.len() == 1, css.to_owned());
|
||||
let q = &list.media_queries[0];
|
||||
assert!(q.qualifier == None, css.to_owned());
|
||||
assert!(q.media_type == MediaQueryType::MediaType(MediaType::Print), css.to_owned());
|
||||
assert!(q.expressions.len() == 1, css.to_owned());
|
||||
match q.expressions[0] {
|
||||
Expression::Width(Range::Eq(w)) => assert!(w == specified::Length::Absolute(Au::from_px(43))),
|
||||
_ => panic!("wrong expression type"),
|
||||
}
|
||||
});
|
||||
|
||||
test_media_rule("@media fridge and (max-width: 52px) { }", |list, css| {
|
||||
assert!(list.media_queries.len() == 1, css.to_owned());
|
||||
let q = &list.media_queries[0];
|
||||
|
@ -255,6 +268,16 @@ fn test_mq_expressions() {
|
|||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_to_css() {
|
||||
test_media_rule("@media print and (width: 43px) { }", |list, _| {
|
||||
let q = &list.media_queries[0];
|
||||
let mut dest = String::new();
|
||||
assert_eq!(Ok(()), q.to_css(&mut dest));
|
||||
assert_eq!(dest, "print and (width: 43px)");
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_mq_multiple_expressions() {
|
||||
test_media_rule("@media (min-width: 100px) and (max-width: 200px) { }", |list, css| {
|
||||
|
|
|
@ -6,9 +6,5 @@
|
|||
[MediaQueryList.matches for "(min-aspect-ratio: 1/1)"]
|
||||
expected: FAIL
|
||||
|
||||
[MediaQueryList.matches for "(width: 200px)"]
|
||||
expected: FAIL
|
||||
|
||||
[Resize iframe from 200x100 to 200x50, then to 100x50]
|
||||
expected: FAIL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue