aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-07-01 05:14:21 -0400
committerGitHub <noreply@github.com>2018-07-01 05:14:21 -0400
commitc71c55e542c57f6ec4e5e77be750f74f50340e56 (patch)
tree730aad03158a733d126d8cabe09e92792b31e05e /tests
parent9c243a115ea4983bec5e79b06c49469354cfa1f9 (diff)
parent36495d677f6e5e928c74f8eb372caaae7a303047 (diff)
downloadservo-c71c55e542c57f6ec4e5e77be750f74f50340e56.tar.gz
servo-c71c55e542c57f6ec4e5e77be750f74f50340e56.zip
Auto merge of #21109 - emilio:gecko-sync, r=SimonSapin
style: sync changes from mozilla-central. See each individual commit for details.. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21109) <!-- Reviewable:end -->
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/script/Cargo.toml1
-rw-r--r--tests/unit/script/htmlimageelement.rs97
-rw-r--r--tests/unit/script/lib.rs1
-rw-r--r--tests/unit/style/Cargo.toml2
-rw-r--r--tests/unit/style/lib.rs14
-rw-r--r--tests/unit/style/media_queries.rs398
6 files changed, 1 insertions, 512 deletions
diff --git a/tests/unit/script/Cargo.toml b/tests/unit/script/Cargo.toml
index f6743a7dba6..dc78113136f 100644
--- a/tests/unit/script/Cargo.toml
+++ b/tests/unit/script/Cargo.toml
@@ -13,4 +13,3 @@ euclid = "0.17"
msg = {path = "../../../components/msg"}
script = {path = "../../../components/script"}
servo_url = {path = "../../../components/url"}
-style = {path = "../../../components/style"}
diff --git a/tests/unit/script/htmlimageelement.rs b/tests/unit/script/htmlimageelement.rs
index 6d62f25a500..796e63c2e2b 100644
--- a/tests/unit/script/htmlimageelement.rs
+++ b/tests/unit/script/htmlimageelement.rs
@@ -2,104 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-use script::test::DOMString;
-use script::test::sizes::{parse_a_sizes_attribute, Size};
use script::test::srcset::{Descriptor, ImageSource, parse_a_srcset_attribute};
-use style::media_queries::{MediaQuery, MediaQueryType};
-use style::media_queries::Expression;
-use style::servo::media_queries::{ExpressionKind, Range};
-use style::values::specified::{Length, NoCalcLength, AbsoluteLength, ViewportPercentageLength};
-
-pub fn test_length_for_no_default_provided(len: f32) -> Length {
- let length = Length::NoCalc(NoCalcLength::ViewportPercentage(ViewportPercentageLength::Vw(len)));
- return length;
-}
-
-#[test]
-fn no_default_provided() {
- let mut a = vec![];
- let length = test_length_for_no_default_provided(100f32);
- let size = Size { query: None, length: length };
- a.push(size);
- assert_eq!(parse_a_sizes_attribute(DOMString::new(), None), a);
-}
-
-pub fn test_length_for_default_provided(len: f32) -> Length {
- let length = Length::NoCalc(NoCalcLength::Absolute(AbsoluteLength::Px(len)));
- return length;
-}
-
-#[test]
-fn default_provided() {
- let mut a = vec![];
- let length = test_length_for_default_provided(2f32);
- let size = Size { query: None, length: length };
- a.push(size);
- assert_eq!(parse_a_sizes_attribute(DOMString::new(), Some(2)), a);
-}
-
-pub fn test_media_query(len: f32) -> MediaQuery {
- let length = Length::NoCalc(NoCalcLength::Absolute(AbsoluteLength::Px(len)));
- let expr = Expression(ExpressionKind::Width(Range::Max(length)));
- let media_query = MediaQuery {
- qualifier: None,
- media_type: MediaQueryType::All,
- expressions: vec![expr]
- };
- media_query
-}
-
-pub fn test_length(len: f32) -> Length {
- let length = Length::NoCalc(NoCalcLength::Absolute(AbsoluteLength::Px(len)));
- return length;
-}
-
-#[test]
-fn one_value() {
- let mut a = vec![];
- let media_query = test_media_query(200f32);
- let length = test_length(545f32);
- let size = Size { query: Some(media_query), length: length };
- a.push(size);
- assert_eq!(parse_a_sizes_attribute(DOMString::from("(max-width: 200px) 545px"), None), a);
-}
-
-#[test]
-fn more_then_one_value() {
- let media_query = test_media_query(900f32);
- let length = test_length(1000f32);
- let size = Size { query: Some(media_query), length: length };
- let media_query1 = test_media_query(900f32);
- let length1 = test_length(50f32);
- let size1 = Size { query: Some(media_query1), length: length1 };
- let a = &[size, size1];
- assert_eq!(parse_a_sizes_attribute(DOMString::from("(max-width: 900px) 1000px, (max-width: 900px) 50px"),
- None), a);
-}
-
-#[test]
-fn no_extra_whitespace() {
- let mut a = vec![];
- let media_query = test_media_query(200f32);
- let length = test_length(545f32);
- let size = Size { query: Some(media_query), length: length };
- a.push(size);
- assert_eq!(parse_a_sizes_attribute(DOMString::from("(max-width: 200px) 545px"), None), a);
-}
-
-#[test]
-fn extra_whitespace() {
- let media_query = test_media_query(900f32);
- let length = test_length(1000f32);
- let size = Size { query: Some(media_query), length: length };
- let media_query1 = test_media_query(900f32);
- let length1 = test_length(50f32);
- let size1 = Size { query: Some(media_query1), length: length1 };
- let a = &[size, size1];
- assert_eq!(parse_a_sizes_attribute(
- DOMString::from("(max-width: 900px) 1000px, (max-width: 900px) 50px"),
- None), a);
-}
#[test]
fn no_value() {
diff --git a/tests/unit/script/lib.rs b/tests/unit/script/lib.rs
index 6d724db5358..069417a5911 100644
--- a/tests/unit/script/lib.rs
+++ b/tests/unit/script/lib.rs
@@ -6,7 +6,6 @@
#[cfg(test)] extern crate msg;
#[cfg(test)] extern crate script;
#[cfg(test)] extern crate servo_url;
-#[cfg(test)] extern crate style;
#[cfg(test)] mod origin;
#[cfg(all(test, target_pointer_width = "64"))] mod size_of;
diff --git a/tests/unit/style/Cargo.toml b/tests/unit/style/Cargo.toml
index 23778c73f93..77b0ac34fd1 100644
--- a/tests/unit/style/Cargo.toml
+++ b/tests/unit/style/Cargo.toml
@@ -12,7 +12,7 @@ doctest = false
[dependencies]
byteorder = "1.0"
app_units = "0.6"
-cssparser = "0.23.0"
+cssparser = "0.24.0"
euclid = "0.17"
html5ever = "0.22"
parking_lot = "0.5"
diff --git a/tests/unit/style/lib.rs b/tests/unit/style/lib.rs
index 2c46bb65063..faa15845195 100644
--- a/tests/unit/style/lib.rs
+++ b/tests/unit/style/lib.rs
@@ -27,7 +27,6 @@ mod attr;
mod custom_properties;
mod keyframes;
mod logical_geometry;
-mod media_queries;
mod parsing;
mod properties;
mod rule_tree;
@@ -37,16 +36,3 @@ mod str;
mod stylesheets;
mod stylist;
mod viewport;
-
-mod writing_modes {
- use style::logical_geometry::WritingMode;
- use style::properties::INITIAL_SERVO_VALUES;
-
- #[test]
- fn initial_writing_mode_is_empty() {
- assert_eq!(
- WritingMode::new(INITIAL_SERVO_VALUES.get_inherited_box()),
- WritingMode::empty(),
- )
- }
-}
diff --git a/tests/unit/style/media_queries.rs b/tests/unit/style/media_queries.rs
deleted file mode 100644
index 044dee3db72..00000000000
--- a/tests/unit/style/media_queries.rs
+++ /dev/null
@@ -1,398 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-use euclid::TypedScale;
-use euclid::TypedSize2D;
-use servo_arc::Arc;
-use servo_url::ServoUrl;
-use std::borrow::ToOwned;
-use style::Atom;
-use style::context::QuirksMode;
-use style::media_queries::*;
-use style::servo::media_queries::*;
-use style::shared_lock::SharedRwLock;
-use style::stylesheets::{AllRules, Stylesheet, StylesheetInDocument, Origin, CssRule};
-use style::values::{CustomIdent, specified};
-use style_traits::ToCss;
-
-fn test_media_rule<F>(css: &str, callback: F)
-where
- F: Fn(&MediaList, &str),
-{
- let url = ServoUrl::parse("http://localhost").unwrap();
- let css_str = css.to_owned();
- let lock = SharedRwLock::new();
- let media_list = Arc::new(lock.wrap(MediaList::empty()));
- let stylesheet = Stylesheet::from_str(
- css, url, Origin::Author, media_list, lock,
- None, None, QuirksMode::NoQuirks, 0);
- let dummy = Device::new(MediaType::screen(), TypedSize2D::new(200.0, 100.0), TypedScale::new(1.0));
- let mut rule_count = 0;
- let guard = stylesheet.shared_lock.read();
- for rule in stylesheet.iter_rules::<AllRules>(&dummy, &guard) {
- if let CssRule::Media(ref lock) = *rule {
- rule_count += 1;
- callback(&lock.read_with(&guard).media_queries.read_with(&guard), css);
- }
- }
- assert!(rule_count > 0, css_str);
-}
-
-fn media_query_test(device: &Device, css: &str, expected_rule_count: usize) {
- let url = ServoUrl::parse("http://localhost").unwrap();
- let lock = SharedRwLock::new();
- let media_list = Arc::new(lock.wrap(MediaList::empty()));
- let ss = Stylesheet::from_str(
- css, url, Origin::Author, media_list, lock,
- None, None, QuirksMode::NoQuirks, 0);
- let mut rule_count = 0;
- ss.effective_style_rules(device, &ss.shared_lock.read(), |_| rule_count += 1);
- assert!(rule_count == expected_rule_count, css.to_owned());
-}
-
-#[test]
-fn test_mq_empty() {
- test_media_rule("@media { }", |list, css| {
- assert!(list.media_queries.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_screen() {
- test_media_rule("@media screen { }", |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::Concrete(MediaType::screen()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media only screen { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Only), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(MediaType::screen()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media not screen { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(MediaType::screen()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_print() {
- test_media_rule("@media print { }", |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::Concrete(MediaType::print()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media only print { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Only), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(MediaType::print()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media not print { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(MediaType::print()), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_unknown() {
- test_media_rule("@media fridge { }", |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::Concrete(
- MediaType(CustomIdent(Atom::from("fridge")))), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media only glass { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Only), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(
- MediaType(CustomIdent(Atom::from("glass")))), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media not wood { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(
- MediaType(CustomIdent(Atom::from("wood")))), css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_all() {
- test_media_rule("@media all { }", |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::All, css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media only all { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Only), css.to_owned());
- assert!(q.media_type == MediaQueryType::All, css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-
- test_media_rule("@media not all { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(q.media_type == MediaQueryType::All, css.to_owned());
- assert!(q.expressions.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_or() {
- test_media_rule("@media screen, print { }", |list, css| {
- assert!(list.media_queries.len() == 2, css.to_owned());
- let q0 = &list.media_queries[0];
- assert!(q0.qualifier == None, css.to_owned());
- assert!(q0.media_type == MediaQueryType::Concrete(MediaType::screen()), css.to_owned());
- assert!(q0.expressions.len() == 0, css.to_owned());
-
- let q1 = &list.media_queries[1];
- assert!(q1.qualifier == None, css.to_owned());
- assert!(q1.media_type == MediaQueryType::Concrete(MediaType::print()), css.to_owned());
- assert!(q1.expressions.len() == 0, css.to_owned());
- });
-}
-
-#[test]
-fn test_mq_default_expressions() {
- test_media_rule("@media (min-width: 100px) { }", |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::All, css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Min(ref w)) => assert!(*w == specified::Length::from_px(100.)),
- _ => panic!("wrong expression type"),
- }
- });
-
- test_media_rule("@media (max-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::All, css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Max(ref w)) => assert!(*w == specified::Length::from_px(43.)),
- _ => panic!("wrong expression type"),
- }
- });
-}
-
-#[test]
-fn test_mq_expressions() {
- test_media_rule("@media screen and (min-width: 100px) { }", |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::Concrete(MediaType::screen()), css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Min(ref w)) => assert!(*w == specified::Length::from_px(100.)),
- _ => panic!("wrong expression type"),
- }
- });
-
- test_media_rule("@media print and (max-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::Concrete(MediaType::print()), css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Max(ref w)) => assert!(*w == specified::Length::from_px(43.)),
- _ => panic!("wrong expression type"),
- }
- });
-
- 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::Concrete(MediaType::print()), css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Eq(ref w)) => assert!(*w == specified::Length::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];
- assert!(q.qualifier == None, css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(
- MediaType(CustomIdent(Atom::from("fridge")))), css.to_owned());
- assert!(q.expressions.len() == 1, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Max(ref w)) => assert!(*w == specified::Length::from_px(52.)),
- _ => panic!("wrong expression type"),
- }
- });
-}
-
-#[test]
-fn test_to_css() {
- test_media_rule("@media print and (width: 43px) { }", |list, _| {
- let q = &list.media_queries[0];
- let dest = q.to_css_string();
- 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| {
- 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::All, css.to_owned());
- assert!(q.expressions.len() == 2, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Min(ref w)) => assert!(*w == specified::Length::from_px(100.)),
- _ => panic!("wrong expression type"),
- }
- match *q.expressions[1].kind_for_testing() {
- ExpressionKind::Width(Range::Max(ref w)) => assert!(*w == specified::Length::from_px(200.)),
- _ => panic!("wrong expression type"),
- }
- });
-
- test_media_rule("@media not screen and (min-width: 100px) and (max-width: 200px) { }", |list, css| {
- assert!(list.media_queries.len() == 1, css.to_owned());
- let q = &list.media_queries[0];
- assert!(q.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(q.media_type == MediaQueryType::Concrete(MediaType::screen()), css.to_owned());
- assert!(q.expressions.len() == 2, css.to_owned());
- match *q.expressions[0].kind_for_testing() {
- ExpressionKind::Width(Range::Min(ref w)) => assert!(*w == specified::Length::from_px(100.)),
- _ => panic!("wrong expression type"),
- }
- match *q.expressions[1].kind_for_testing() {
- ExpressionKind::Width(Range::Max(ref w)) => assert!(*w == specified::Length::from_px(200.)),
- _ => panic!("wrong expression type"),
- }
- });
-}
-
-#[test]
-fn test_mq_malformed_expressions() {
- fn check_malformed_expr(list: &MediaList, css: &str) {
- assert!(!list.media_queries.is_empty(), css.to_owned());
- for mq in &list.media_queries {
- assert!(mq.qualifier == Some(Qualifier::Not), css.to_owned());
- assert!(mq.media_type == MediaQueryType::All, css.to_owned());
- assert!(mq.expressions.is_empty(), css.to_owned());
- }
- }
-
- for rule in &[
- "@media (min-width: 100blah) and (max-width: 200px) { }",
- "@media screen and (height: 200px) { }",
- "@media (min-width: 30em foo bar) {}",
- "@media not {}",
- "@media not (min-width: 300px) {}",
- "@media , {}",
- ] {
- test_media_rule(rule, check_malformed_expr);
- }
-}
-
-#[test]
-fn test_matching_simple() {
- let device = Device::new(MediaType::screen(), TypedSize2D::new(200.0, 100.0), TypedScale::new(1.0));
-
- media_query_test(&device, "@media not all { a { color: red; } }", 0);
- media_query_test(&device, "@media not screen { a { color: red; } }", 0);
- media_query_test(&device, "@media not print { a { color: red; } }", 1);
-
- media_query_test(&device, "@media unknown { a { color: red; } }", 0);
- media_query_test(&device, "@media not unknown { a { color: red; } }", 1);
-
- media_query_test(&device, "@media { a { color: red; } }", 1);
- media_query_test(&device, "@media screen { a { color: red; } }", 1);
- media_query_test(&device, "@media print { a { color: red; } }", 0);
-}
-
-#[test]
-fn test_matching_width() {
- let device = Device::new(MediaType::screen(), TypedSize2D::new(200.0, 100.0), TypedScale::new(1.0));
-
- media_query_test(&device, "@media { a { color: red; } }", 1);
-
- media_query_test(&device, "@media (min-width: 50px) { a { color: red; } }", 1);
- media_query_test(&device, "@media (min-width: 150px) { a { color: red; } }", 1);
- media_query_test(&device, "@media (min-width: 300px) { a { color: red; } }", 0);
-
- media_query_test(&device, "@media screen and (min-width: 50px) { a { color: red; } }", 1);
- media_query_test(&device, "@media screen and (min-width: 150px) { a { color: red; } }", 1);
- media_query_test(&device, "@media screen and (min-width: 300px) { a { color: red; } }", 0);
-
- media_query_test(&device, "@media not screen and (min-width: 50px) { a { color: red; } }", 0);
- media_query_test(&device, "@media not screen and (min-width: 150px) { a { color: red; } }", 0);
- media_query_test(&device, "@media not screen and (min-width: 300px) { a { color: red; } }", 1);
-
- media_query_test(&device, "@media (max-width: 50px) { a { color: red; } }", 0);
- media_query_test(&device, "@media (max-width: 150px) { a { color: red; } }", 0);
- media_query_test(&device, "@media (max-width: 300px) { a { color: red; } }", 1);
-
- media_query_test(&device, "@media screen and (min-width: 50px) and (max-width: 100px) { a { color: red; } }", 0);
- media_query_test(&device, "@media screen and (min-width: 250px) and (max-width: 300px) { a { color: red; } }", 0);
- media_query_test(&device, "@media screen and (min-width: 50px) and (max-width: 250px) { a { color: red; } }", 1);
-
- media_query_test(
- &device, "@media not screen and (min-width: 50px) and (max-width: 100px) { a { color: red; } }", 1);
- media_query_test(
- &device, "@media not screen and (min-width: 250px) and (max-width: 300px) { a { color: red; } }", 1);
- media_query_test(
- &device, "@media not screen and (min-width: 50px) and (max-width: 250px) { a { color: red; } }", 0);
-
- media_query_test(
- &device, "@media not screen and (min-width: 3.1em) and (max-width: 6em) { a { color: red; } }", 1);
- media_query_test(
- &device, "@media not screen and (min-width: 16em) and (max-width: 19.75em) { a { color: red; } }", 1);
- media_query_test(
- &device, "@media not screen and (min-width: 3em) and (max-width: 250px) { a { color: red; } }", 0);
-}
-
-#[test]
-fn test_matching_invalid() {
- let device = Device::new(MediaType::screen(), TypedSize2D::new(200.0, 100.0), TypedScale::new(1.0));
-
- media_query_test(&device, "@media fridge { a { color: red; } }", 0);
- media_query_test(&device, "@media screen and (height: 100px) { a { color: red; } }", 0);
- media_query_test(&device, "@media not print and (width: 100) { a { color: red; } }", 0);
-}