Skip to content

Commit

Permalink
See missing media blocks. Fixes #2494
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeapage committed Mar 20, 2015
1 parent b109287 commit 936b78c
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 9 deletions.
23 changes: 17 additions & 6 deletions lib/less/parser/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -1290,18 +1290,29 @@ var Parser = function Parser(context, imports, fileInfo) {
debugInfo = getDebugInfo(parserInput.i);
}

parserInput.save();

if (parserInput.$str("@media")) {
features = this.mediaFeatures();

rules = this.block();
if (rules) {
media = new(tree.Media)(rules, features, parserInput.i, fileInfo);
if (context.dumpLineNumbers) {
media.debugInfo = debugInfo;
}
return media;

if (!rules) {
parserInput.restore("media definitions require block statements after any features");
return;
}

parserInput.forget();

media = new(tree.Media)(rules, features, parserInput.i, fileInfo);
if (context.dumpLineNumbers) {
media.debugInfo = debugInfo;
}

return media;
}

parserInput.restore();
},

//
Expand Down
3 changes: 0 additions & 3 deletions test/less/errors/parse-error-extra-parens.txt

This file was deleted.

3 changes: 3 additions & 0 deletions test/less/errors/parse-error-media-no-block-1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ParseError: media definitions require block statements after any features in {path}parse-error-media-no-block-1.less on line 1, column 24:
1 @media (extra: bracket)) {
2 body {
1 change: 1 addition & 0 deletions test/less/errors/parse-error-media-no-block-2.less
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@media
2 changes: 2 additions & 0 deletions test/less/errors/parse-error-media-no-block-2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ParseError: media definitions require block statements after any features in {path}parse-error-media-no-block-2.less on line 1, column 7:
1 @media
4 changes: 4 additions & 0 deletions test/less/errors/parse-error-media-no-block-3.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@media (min-width: 500px) {
.sometimes-big {
font-size: 5000px;
}
3 changes: 3 additions & 0 deletions test/less/errors/parse-error-media-no-block-3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ParseError: media definitions require block statements after any features in {path}parse-error-media-no-block-3.less on line 4, column 4:
3 font-size: 5000px;
4 }

0 comments on commit 936b78c

Please sign in to comment.