Fixed some tests.

* Import filenames are okay, line numbers are off by one in some cases
 * The nested media query still makes .tst show up as undefined
This commit is contained in:
Simone Deponti
2012-09-10 16:01:35 +02:00
committed by Luke Page
parent 959e22f5ff
commit bbdcc02c8b
2 changed files with 18 additions and 5 deletions

View File

@@ -227,6 +227,13 @@ less.Parser = function Parser(env) {
column: column };
}
function getFileName(e) {
if(less.mode === 'browser' || less.mode === 'rhino')
return e.filename;
else
return require('path').resolve(e.filename);
}
function LessError(e, env) {
var input = getInput(e, env),
loc = getLocation(e.index, input),
@@ -1056,11 +1063,14 @@ less.Parser = function Parser(env) {
// div, .class, body > p {...}
//
ruleset: function () {
var selectors = [], s, rules, match, sourceLineNumber;
var selectors = [], s, rules, match, sourceLineNumber,
sourceFileName;
save();
if (env.dumpLineNumbers)
if (env.dumpLineNumbers) {
sourceLineNumber = getLocation(i, input).line;
sourceFileName = getFileName(env);
}
while (s = $(this.selector)) {
selectors.push(s);
@@ -1071,8 +1081,10 @@ less.Parser = function Parser(env) {
if (selectors.length > 0 && (rules = $(this.block))) {
var ruleset = new(tree.Ruleset)(selectors, rules, env.strictImports);
if (env.dumpLineNumbers)
if (env.dumpLineNumbers) {
ruleset.sourceLineNumber = sourceLineNumber;
ruleset.sourceFileName = sourceFileName;
}
return ruleset;
} else {
// Backtrack

View File

@@ -70,6 +70,7 @@ tree.Ruleset.prototype = {
}
ruleset.sourceLineNumber = this.sourceLineNumber;
ruleset.sourceFileName = this.sourceFileName;
return ruleset;
},
match: function (args) {
@@ -178,8 +179,8 @@ tree.Ruleset.prototype = {
lineNumbersComment = '';
lineNumbersMediaQuery = '';
if (env.dumpLineNumbers && !env.compress) {
lineNumbersComment = '/* line ' + this.sourceLineNumber + ', ' + env.filename + ' */\n';
lineNumbersMediaQuery = '@media -sass-debug-info{filename{font-family:"' + env.filename + '";}line{font-family:"' + this.sourceLineNumber + '";}}\n';
lineNumbersComment = '/* line ' + this.sourceLineNumber + ', ' + this.sourceFileName + ' */\n';
lineNumbersMediaQuery = '@media -sass-debug-info{filename{font-family:"' + this.sourceFileName + '";}line{font-family:"' + this.sourceLineNumber + '";}}\n';
switch(env.dumpLineNumbers) {
case 'comments':
lineNumbersInfo = lineNumbersComment;