fix running mode tests from different directory
This commit is contained in:
parent
441ca92f9a
commit
25eeca0a75
1 changed files with 11 additions and 9 deletions
|
|
@ -4,11 +4,13 @@ if (!fs.existsSync)
|
|||
|
||||
require("amd-loader");
|
||||
|
||||
var cwd = __dirname + "/";
|
||||
|
||||
function generateTestData() {
|
||||
var root = Array(5).join("../") + "/demo/kitchen-sink/docs";
|
||||
var docs = fs.readdirSync(root);
|
||||
var specialDocs = fs.readdirSync(".");
|
||||
var modes = fs.readdirSync("../").filter(function(x){
|
||||
var docs = fs.readdirSync(cwd + root);
|
||||
var specialDocs = fs.readdirSync(cwd);
|
||||
var modes = fs.readdirSync(cwd + "../").filter(function(x){
|
||||
return /^\w+_highlight_rules.js$/.test(x);
|
||||
}).map(function(x) {
|
||||
return x.replace(/_highlight_rules.js$/, "");
|
||||
|
|
@ -17,7 +19,7 @@ function generateTestData() {
|
|||
console.log("Docs:", docs.join());
|
||||
console.log("Modes:", modes);
|
||||
|
||||
docs.forEach(function(docName){
|
||||
docs.forEach(function(docName) {
|
||||
var p = docName.toLowerCase().split(".");
|
||||
var modeName;
|
||||
if (modes.indexOf(p[0]) != -1)
|
||||
|
|
@ -32,7 +34,7 @@ function generateTestData() {
|
|||
filePath = root + "/" + docName;
|
||||
}
|
||||
|
||||
var text = fs.readFileSync(filePath, "utf8");
|
||||
var text = fs.readFileSync(cwd + filePath, "utf8");
|
||||
var Mode = require("../" + modeName).Mode;
|
||||
var tokenizer = new Mode().getTokenizer();
|
||||
|
||||
|
|
@ -48,22 +50,22 @@ function generateTestData() {
|
|||
};
|
||||
});
|
||||
|
||||
fs.writeFileSync("tokens_" + modeName + ".json", JSON.stringify(data, null, 1), "utf8");
|
||||
fs.writeFileSync(cwd + "tokens_" + modeName + ".json", JSON.stringify(data, null, 1), "utf8");
|
||||
});
|
||||
}
|
||||
|
||||
function test(startAt) {
|
||||
var docs = fs.readdirSync(".").filter(function(x){
|
||||
var docs = fs.readdirSync(cwd).filter(function(x) {
|
||||
return /^tokens_\w+.json$/.test(x);
|
||||
});
|
||||
if (startAt && startAt > 1)
|
||||
docs = docs.slice(startAt - 1);
|
||||
docs.forEach(function(x, i){
|
||||
docs.forEach(function(x, i) {
|
||||
var modeName = x.match(/tokens_(.*).json/)[1];
|
||||
|
||||
console.log(padNumber(i+1, 3) + ") testing: \u001b[33m" + modeName + "\u001b[0m");
|
||||
|
||||
var text = fs.readFileSync("./" + x, "utf8");
|
||||
var text = fs.readFileSync(cwd + x, "utf8");
|
||||
var data = JSON.parse(text);
|
||||
var Mode = require("../" + modeName).Mode;
|
||||
var tokenizer = new Mode().getTokenizer();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue