Skip to content

Instantly share code, notes, and snippets.

@timrwood
Created February 4, 2012 00:27
Show Gist options
  • Save timrwood/1734013 to your computer and use it in GitHub Desktop.
Save timrwood/1734013 to your computer and use it in GitHub Desktop.
moment lang test migrator
var fs = require("fs");
var wrapReplace = /}\);\s*test\((["a-zA-Z ]+), ?(\d+), ?function\(\)\s*{/g;
var replace = " test.done();\n },\n\n $1 : function(test) {\n test.expect($2);";
var erg = /}\);\s*$/g;
var es = 'test.done();\n }\n};';
var frg = /\s*module\((["a-zA-Z:\- ]+)\);\s*test\((["a-zA-Z ]+), ?(\d+), ?function\(\)\s*{/g;
var fst = "\n\nexports[$1] = {\n $2 : function(test) {\n test.expect($3);";
fs.readdir('./test/lang', function(err, files){
files.forEach(function(i){
fs.readFile('./test/lang/' + i, 'utf8', function(err, data){
var s = data.replace(/\n/g, '\n ');
s = s.replace(wrapReplace, replace);
s = s.replace(/equal\(/g, 'test.equal(');
s = s.replace(/ok\(/g, 'test.ok(');
s = s.replace(/ok\(/g, 'test.ok(');
s = s.replace(erg, es);
s = s.replace(frg, fst);
s = 'var moment = require("../../moment");\n\n' + s;
fs.writeFile('./test/langb/' + i, s, 'utf8', function(err){
console.log('saved ' + i);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment