Skip to content

Commit 8be1864

Browse files
committed
Merge pull request #57 from nschonni/allow-device-pixel-ratio-gh-23
Allow pixel ratios in media queries
2 parents 7fdb666 + cfd17de commit 8be1864

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/css/Parser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1333,7 +1333,7 @@ Parser.prototype = function(){
13331333
while(tokenStream.match([Tokens.PLUS, Tokens.MINUS, Tokens.DIMENSION,
13341334
Tokens.NUMBER, Tokens.STRING, Tokens.IDENT, Tokens.LENGTH,
13351335
Tokens.FREQ, Tokens.ANGLE, Tokens.TIME,
1336-
Tokens.RESOLUTION])){
1336+
Tokens.RESOLUTION, Tokens.SLASH])){
13371337

13381338
value += tokenStream.token().value;
13391339
value += this._readWhitespace();

tests/css/Parser.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -955,6 +955,22 @@
955955
Assert.areEqual("orientation", result.features[1].name);
956956
Assert.areEqual("portrait", result.features[1].value);
957957
Assert.areEqual("only screen and (max-device-width:768px) and (orientation:portrait)", result.text);
958+
},
959+
960+
testComplexMediaQueryWithDevicePixelRatioAsFraction: function(){
961+
var parser = new Parser();
962+
var result = parser.parseMediaQuery("only screen and (-o-device-pixel-ratio: 3/2) and (-webkit-device-pixel-ratio: 1.5)");
963+
964+
Assert.isInstanceOf(MediaQuery, result, "Result should be an instance of MediaQuery.");
965+
Assert.areEqual(1, result.line, "Line should be 1");
966+
Assert.areEqual(1, result.col, "Column should be 1");
967+
Assert.areEqual("only", result.modifier);
968+
Assert.areEqual("screen", result.mediaType);
969+
Assert.areEqual(2, result.features.length, "Should be two features.");
970+
Assert.areEqual("-o-device-pixel-ratio", result.features[0].name);
971+
Assert.areEqual("3/2", result.features[0].value);
972+
Assert.areEqual("-webkit-device-pixel-ratio", result.features[1].name);
973+
Assert.areEqual("1.5", result.features[1].value);
958974
}
959975

960976

@@ -1115,7 +1131,7 @@
11151131
Assert.areEqual(0, result.parts[0].green);
11161132
Assert.areEqual(0, result.parts[0].blue);
11171133
},
1118-
1134+
11191135
testCSS2SystemColorValue: function(){
11201136
var parser = new Parser();
11211137
var result = parser.parsePropertyValue("InfoText");

0 commit comments

Comments
 (0)