Skip to content

Commit 1677b50

Browse files
committed
Merge pull request #111 from terinjokes/import-uri
Parse quoted and unquoted uri @imports. Fixes #108
2 parents bf9ac73 + fbbcab6 commit 1677b50

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/css/Parser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ Parser.prototype = function(){
259259
tokenStream.mustMatch([Tokens.STRING, Tokens.URI]);
260260

261261
//grab the URI value
262-
uri = tokenStream.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/, "$1");
262+
uri = tokenStream.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/, "$1");
263263

264264
this._readWhitespace();
265265

tests/css/Parser.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1728,6 +1728,34 @@
17281728
Assert.areEqual("-moz-inline-stack", event.value.parts[0].text, "Vendor prefixed value -moz-inline-stack is intact.");
17291729
});
17301730
var result = parser.parse(".foo {\n display: -moz-inline-stack;\n}");
1731+
},
1732+
1733+
"Test @import uri without quotes": function(){
1734+
var parser = new Parser({ strict: true});
1735+
parser.addListener("import", function(event){
1736+
Assert.areEqual("import", event.type);
1737+
Assert.areEqual("http://www.yahoo.com", event.uri);
1738+
});
1739+
var result = parser.parse("@import url(http://www.yahoo.com);");
1740+
},
1741+
1742+
1743+
"Test @import uri with quotes": function(){
1744+
var parser = new Parser({ strict: true});
1745+
parser.addListener("import", function(event){
1746+
Assert.areEqual("import", event.type);
1747+
Assert.areEqual("http://www.yahoo.com", event.uri);
1748+
});
1749+
var result = parser.parse("@import url('http://www.yahoo.com');");
1750+
},
1751+
1752+
"Test @import address": function(){
1753+
var parser = new Parser();
1754+
parser.addListener("import", function(event){
1755+
Assert.areEqual("import", event.type);
1756+
Assert.areEqual("http://www.yahoo.com", event.uri);
1757+
});
1758+
var result = parser.parse("@import 'http://www.yahoo.com';");
17311759
}
17321760
}));
17331761

0 commit comments

Comments
 (0)