mirror of
https://github.com/less/less.js.git
synced 2026-04-09 03:00:20 -04:00
add tests and fix log to console feature
This commit is contained in:
@@ -523,12 +523,11 @@ function removeErrorConsole(path) {
|
||||
}
|
||||
|
||||
function errorConsole(e, rootHref) {
|
||||
var template = '{line}\n{content}';
|
||||
var template = '{line} {content}';
|
||||
var filename = e.filename || rootHref;
|
||||
var filenameNoPath = filename.match(/([^\/]+(\?.*)?)$/)[1];
|
||||
|
||||
content = (e.type || "Syntax") + "Error: " + (e.message || 'There is an error in your .less file') +
|
||||
"'" + filename + "'";
|
||||
var errors = [];
|
||||
var content = (e.type || "Syntax") + "Error: " + (e.message || 'There is an error in your .less file') +
|
||||
" in " + filename + " ";
|
||||
|
||||
var errorline = function (e, i, classname) {
|
||||
if (e.extract[i] !== undefined) {
|
||||
@@ -547,7 +546,7 @@ function errorConsole(e, rootHref) {
|
||||
} else if (e.stack) {
|
||||
content += e.stack;
|
||||
}
|
||||
log(content);
|
||||
console.log(content);
|
||||
}
|
||||
|
||||
function errorHTML(e, rootHref) {
|
||||
|
||||
@@ -39,6 +39,7 @@ createTestRunnerPage("", /javascript|urls/, "main");
|
||||
createTestRunnerPage("", null, "legacy", "legacy");
|
||||
createTestRunnerPage("", /javascript/, "errors", "errors");
|
||||
createTestRunnerPage("", null, "no-js-errors", "no-js-errors");
|
||||
createTestRunnerPage("browser", null, "console-errors", "console-errors");
|
||||
createTestRunnerPage("browser", null, "browser");
|
||||
createTestRunnerPage("browser", null, "relative-urls", "relative-urls");
|
||||
createTestRunnerPage("browser", null, "rootpath", "rootpath");
|
||||
|
||||
@@ -13,8 +13,8 @@ var testLessEqualsInDocument = function() {
|
||||
testLessInDocument(testSheet);
|
||||
};
|
||||
|
||||
var testLessErrorsInDocument = function() {
|
||||
testLessInDocument(testErrorSheet);
|
||||
var testLessErrorsInDocument = function(isConsole) {
|
||||
testLessInDocument(isConsole ? testErrorSheetConsole : testErrorSheet);
|
||||
};
|
||||
|
||||
var testLessInDocument = function(testFunc) {
|
||||
@@ -43,7 +43,7 @@ var testSheet = function(sheet) {
|
||||
|
||||
runs(function() {
|
||||
// use sheet to do testing
|
||||
expect(lessOutput).toEqual(expectedOutput.text);
|
||||
expect(expectedOutput.text).toEqual(lessOutput);
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -76,7 +76,7 @@ var testErrorSheet = function(sheet) {
|
||||
.replace("{pathrel}", "")
|
||||
.replace("{pathhref}", "http://localhost:8081/less/errors/")
|
||||
.replace("{404status}", " (404)");
|
||||
expect(actualErrorMsg).toEqual(errorTxt);
|
||||
expect(errorTxt).toEqual(actualErrorMsg);
|
||||
if (errorTxt == actualErrorMsg) {
|
||||
actualErrorElement.style.display = "none";
|
||||
}
|
||||
@@ -84,6 +84,41 @@ var testErrorSheet = function(sheet) {
|
||||
});
|
||||
};
|
||||
|
||||
var testErrorSheetConsole = function(sheet) {
|
||||
it(sheet.id + " should match an error", function() {
|
||||
var lessHref = sheet.href,
|
||||
id = sheet.id.replace(/^original-less:/, "less-error-message:"),
|
||||
errorHref = lessHref.replace(/.less$/, ".txt"),
|
||||
errorFile = loadFile(errorHref),
|
||||
actualErrorElement = document.getElementById(id),
|
||||
actualErrorMsg = logMessages[logMessages.length - 1];
|
||||
|
||||
describe("the error", function() {
|
||||
expect(actualErrorElement).toBe(null);
|
||||
|
||||
});
|
||||
|
||||
/*actualErrorMsg = actualErrorElement.innerText
|
||||
.replace(/\n\d+/g, function(lineNo) { return lineNo + " "; })
|
||||
.replace(/\n\s*in /g, " in ")
|
||||
.replace("\n\n", "\n");*/
|
||||
|
||||
waitsFor(function() {
|
||||
return errorFile.loaded;
|
||||
}, "failed to load expected outout", 10000);
|
||||
|
||||
runs(function() {
|
||||
var errorTxt = errorFile.text
|
||||
.replace("{path}", "")
|
||||
.replace("{pathrel}", "")
|
||||
.replace("{pathhref}", "http://localhost:8081/browser/less/")
|
||||
.replace("{404status}", " (404)")
|
||||
.trim();
|
||||
expect(errorTxt).toEqual(actualErrorMsg);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var loadFile = function(href) {
|
||||
var request = new XMLHttpRequest(),
|
||||
response = { loaded: false, text: ""};
|
||||
|
||||
3
test/browser/less/console-errors/test-error.less
Normal file
3
test/browser/less/console-errors/test-error.less
Normal file
@@ -0,0 +1,3 @@
|
||||
.a {
|
||||
prop: (3 / #fff);
|
||||
}
|
||||
2
test/browser/less/console-errors/test-error.txt
Normal file
2
test/browser/less/console-errors/test-error.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
OperationError: Can't substract or divide a color from a number in {pathhref}console-errors/test-error.less on line null, column 0:
|
||||
1 prop: (3 / #fff);
|
||||
5
test/browser/runner-console-errors.js
Normal file
5
test/browser/runner-console-errors.js
Normal file
@@ -0,0 +1,5 @@
|
||||
less.errorReporting = 'console';
|
||||
|
||||
describe("less.js error reporting console test", function() {
|
||||
testLessErrorsInDocument(true);
|
||||
});
|
||||
Reference in New Issue
Block a user