(function(){ /* Wikifier test rig Usage: node wikitest.js 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 `.html` and `.txt`. */ /*jslint node: true */ "use strict"; var 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 testdirectory = process.argv[2], store = new WikiStore(), files = fs.readdirSync(testdirectory), titles = [], f,t,extname,basename; store.registerTextProcessor("text/x-tiddlywiki",new WikiTextProcessor({ store: store })); tiddlerInput.register(store); // Frightful temporary hack, but setup the sandbox for evaluated macro parameters var Sandbox = require("./js/Sandbox.js").Sandbox; store.sandbox = new Sandbox(fs.readFileSync("parsers/javascript.pegjs","utf8")); for(f=0; f 1) { throw "Cannot use .JSON files"; } store.addTiddler(new Tiddler(tiddlers[0])); titles.push(tiddlers[0].title); } } for(t=0; t