Added ability to save test results

This makes it easy to update the test data
This commit is contained in:
Jeremy Ruston 2012-03-29 14:57:36 +01:00
parent 392e717497
commit 0c2ba36945
1 changed files with 18 additions and 8 deletions

View File

@ -195,9 +195,10 @@ var commandLineSwitches = {
} }
}, },
wikitest: { wikitest: {
args: {min: 1, max: 1}, args: {min: 1, max: 2},
handler: function(args,callback) { handler: function(args,callback) {
var testdirectory = args[0], var testdirectory = args[0],
saveResults = args[1] === "save",
files = fs.readdirSync(testdirectory), files = fs.readdirSync(testdirectory),
titles = [], titles = [],
f,t,extname,basename; f,t,extname,basename;
@ -213,16 +214,25 @@ var commandLineSwitches = {
} }
} }
for(t=0; t<titles.length; t++) { for(t=0; t<titles.length; t++) {
var htmlTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".html"),"utf8"), var htmlFilename = path.resolve(testdirectory,titles[t] + ".html"),
plainTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".txt"),"utf8"), plainFilename = path.resolve(testdirectory,titles[t] + ".txt"),
htmlTarget = fs.readFileSync(htmlFilename,"utf8"),
plainTarget = fs.readFileSync(plainFilename,"utf8"),
tiddler = app.store.getTiddler(titles[t]), tiddler = app.store.getTiddler(titles[t]),
htmlRender = app.store.renderTiddler("text/html",titles[t]), htmlRender = app.store.renderTiddler("text/html",titles[t]),
plainRender = app.store.renderTiddler("text/plain",titles[t]); plainRender = app.store.renderTiddler("text/plain",titles[t]);
if(htmlTarget !== htmlRender) { if(saveResults) {
console.error("Tiddler %s html error\nTarget: %s\nFound: %s\n",titles[t],htmlTarget,htmlRender); // Save results
} fs.writeFileSync(htmlFilename,htmlRender,"utf8");
if(plainTarget !== plainRender) { fs.writeFileSync(plainFilename,plainRender,"utf8");
console.error("Tiddler %s plain text error\nTarget: %s\nFound: %s\n",titles[t],plainTarget,plainRender); } else {
// Report results
if(htmlTarget !== htmlRender) {
console.error("Tiddler %s html error\nTarget: %s\nFound: %s\n",titles[t],htmlTarget,htmlRender);
}
if(plainTarget !== plainRender) {
console.error("Tiddler %s plain text error\nTarget: %s\nFound: %s\n",titles[t],plainTarget,plainRender);
}
} }
} }
} }