Implement media feature expression multi-range syntax.
Differential Revision: https://phabricator.services.mozilla.com/D145231
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1469174
gecko-commit: 87cf7f130a02cb1f22fdca353ddfc3bf8be5da70
gecko-reviewers: boris
diff --git a/css/mediaqueries/test_media_queries.html b/css/mediaqueries/test_media_queries.html
index a57a4c5..bacfe4a 100644
--- a/css/mediaqueries/test_media_queries.html
+++ b/css/mediaqueries/test_media_queries.html
@@ -173,11 +173,17 @@
} else {
expression_should_not_be_parseable("min-" + feature + " " + separator + " -0");
expression_should_not_be_parseable("max-" + feature + " " + separator + " -0");
+ let multi_range = "0px " + separator + " " + feature + " " + separator + " 100000px"
+ if (separator == "=") {
+ expression_should_not_be_parseable(multi_range);
+ } else {
+ expression_should_be_parseable(multi_range);
+ }
}
if (separator == ">=") {
- expression_should_not_be_parseable(feature + " " + "> =" + " 0px");
+ expression_should_not_be_parseable(feature + " > = 0px");
} else if (separator == "<=") {
- expression_should_not_be_parseable(feature + " " + "< =" + " 0px");
+ expression_should_not_be_parseable(feature + " < = 0px");
}
expression_should_not_be_parseable(feature + " " + separator + " -1px");
expression_should_not_be_parseable("min-" + feature + " " + separator + " -1px");
@@ -227,6 +233,13 @@
should_apply("(" + feature + " <= ${value}px)");
should_apply("(" + feature + " >= ${value}px)");
+
+ should_apply("(0px < " + feature + " <= ${value}px)");
+ should_apply("(${value}px >= " + feature + " > 0px)");
+
+ should_not_apply("(0px < " + feature + " < ${value}px)");
+ should_not_apply("(${value}px > " + feature + " > 0px)");
+
should_not_apply("(" + feature + " < ${value}px)");
should_not_apply("(" + feature + " > ${value}px)");
@@ -469,8 +482,8 @@
should_not_apply("(resolution: ${resolution - 1}dpi)");
dpi_high = resolution + 1;
} else {
- // We have no way to test resolution applying since it need not be
- // an integer.
+ // We have no way to test resolution applying since it need not be
+ // an integer.
testGroup = "resolution is inexact";
should_not_apply("(resolution: ${resolution}dpi)");
should_not_apply("(resolution: ${resolution - 1}dpi)");