mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-23 10:07:19 +00:00
Rolled wikitest.js functionality into tiddlywiki.js
This commit is contained in:
parent
8dd7315d3c
commit
ffbed4edbd
2
test.sh
2
test.sh
@ -11,7 +11,7 @@ node tiddlywiki.js --recipe $PWD/test/tiddlywiki.2.6.5/source/tiddlywiki.com/ind
|
|||||||
diff tmp/newcooked/index.html test/tiddlywiki.2.6.5/target/index.2.6.5.html
|
diff tmp/newcooked/index.html test/tiddlywiki.2.6.5/target/index.2.6.5.html
|
||||||
|
|
||||||
# Run the wikification tests
|
# Run the wikification tests
|
||||||
node wikitest.js test/wikitests/
|
node tiddlywiki.js --wikitest test/wikitests/
|
||||||
|
|
||||||
jshint *.js
|
jshint *.js
|
||||||
jshint js
|
jshint js
|
||||||
|
@ -176,6 +176,39 @@ var commandLineSwitches = {
|
|||||||
handler: function(args,callback) {
|
handler: function(args,callback) {
|
||||||
process.nextTick(function() {callback(null);});
|
process.nextTick(function() {callback(null);});
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
wikitest: {
|
||||||
|
args: {min: 1, max: 1},
|
||||||
|
handler: function(args,callback) {
|
||||||
|
var testdirectory = args[0],
|
||||||
|
files = fs.readdirSync(testdirectory),
|
||||||
|
titles = [],
|
||||||
|
f,t,extname,basename;
|
||||||
|
for(f=0; f<files.length; f++) {
|
||||||
|
extname = path.extname(files[f]);
|
||||||
|
if(extname === ".tid") {
|
||||||
|
var tiddlers = app.store.deserializeTiddlers(extname,fs.readFileSync(path.resolve(testdirectory,files[f]),"utf8"));
|
||||||
|
if(tiddlers.length > 1) {
|
||||||
|
throw "Cannot use .JSON files";
|
||||||
|
}
|
||||||
|
app.store.addTiddler(new Tiddler(tiddlers[0]));
|
||||||
|
titles.push(tiddlers[0].title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(t=0; t<titles.length; t++) {
|
||||||
|
var htmlTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".html"),"utf8"),
|
||||||
|
plainTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".txt"),"utf8"),
|
||||||
|
tiddler = app.store.getTiddler(titles[t]),
|
||||||
|
htmlRender = app.store.renderTiddler("text/html",titles[t]),
|
||||||
|
plainRender = app.store.renderTiddler("text/plain",titles[t]);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
60
wikitest.js
60
wikitest.js
@ -1,60 +0,0 @@
|
|||||||
(function(){
|
|
||||||
|
|
||||||
/*
|
|
||||||
Wikifier test rig
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
node wikitest.js <testdirectory>
|
|
||||||
|
|
||||||
This command creates a store and loads up all the `*.tid` files in the test directory. Then it wikifies each tiddler in turn,
|
|
||||||
verifying that the output matches `<tiddlername>.html` and `<tiddlername>.txt`.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*jslint node: true */
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var App = require("./js/App.js").App,
|
|
||||||
Tiddler = require("./js/Tiddler.js").Tiddler,
|
|
||||||
WikiStore = require("./js/WikiStore.js").WikiStore,
|
|
||||||
WikiTextProcessor = require("./js/WikiTextProcessor.js").WikiTextProcessor,
|
|
||||||
tiddlerInput = require("./js/TiddlerInput.js"),
|
|
||||||
utils = require("./js/Utils.js"),
|
|
||||||
util = require("util"),
|
|
||||||
fs = require("fs"),
|
|
||||||
path = require("path");
|
|
||||||
|
|
||||||
var app = new App();
|
|
||||||
|
|
||||||
var testdirectory = process.argv[2],
|
|
||||||
files = fs.readdirSync(testdirectory),
|
|
||||||
titles = [],
|
|
||||||
f,t,extname,basename;
|
|
||||||
|
|
||||||
for(f=0; f<files.length; f++) {
|
|
||||||
extname = path.extname(files[f]);
|
|
||||||
if(extname === ".tid") {
|
|
||||||
var tiddlers = app.store.deserializeTiddlers(extname,fs.readFileSync(path.resolve(testdirectory,files[f]),"utf8"));
|
|
||||||
if(tiddlers.length > 1) {
|
|
||||||
throw "Cannot use .JSON files";
|
|
||||||
}
|
|
||||||
app.store.addTiddler(new Tiddler(tiddlers[0]));
|
|
||||||
titles.push(tiddlers[0].title);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for(t=0; t<titles.length; t++) {
|
|
||||||
var htmlTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".html"),"utf8"),
|
|
||||||
plainTarget = fs.readFileSync(path.resolve(testdirectory,titles[t] + ".txt"),"utf8"),
|
|
||||||
tiddler = app.store.getTiddler(titles[t]),
|
|
||||||
htmlRender = app.store.renderTiddler("text/html",titles[t]),
|
|
||||||
plainRender = app.store.renderTiddler("text/plain",titles[t]);
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
})();
|
|
Loading…
Reference in New Issue
Block a user