|
1 load( "build/js/writeFile.js", "build/js/parse.js" ); |
|
2 |
|
3 function addParams(name, params) { |
|
4 if(params.length > 0) { |
|
5 name += "("; |
|
6 for ( var i = 0; i < params.length; i++) { |
|
7 name += params[i].type + ", "; |
|
8 } |
|
9 return name.substring(0, name.length - 2) + ")"; |
|
10 } else { |
|
11 return name + "()"; |
|
12 } |
|
13 } |
|
14 function addTestWrapper(name, test) { |
|
15 return 'test("' + name + '", function() {\n' + test + '\n});'; |
|
16 } |
|
17 |
|
18 var dir = arguments[1]; |
|
19 var jq = parse( read(arguments[0]) ); |
|
20 |
|
21 var testFile = []; |
|
22 |
|
23 String.prototype.decode = function() { |
|
24 return this.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&"); |
|
25 }; |
|
26 |
|
27 for ( var i = 0; i < jq.length; i++ ) { |
|
28 if ( jq[i].tests.length > 0 ) { |
|
29 var method = jq[i]; |
|
30 var name = addParams(method.name, method.params); |
|
31 for(var j = 0; j < method.tests.length; j++) { |
|
32 if(j > 0) { |
|
33 name += "x"; |
|
34 } |
|
35 testFile[testFile.length] = addTestWrapper(name, method.tests[j].decode()) + "\n"; |
|
36 } |
|
37 } |
|
38 } |
|
39 |
|
40 var indexFile = readFile( "build/test/index.html" ); |
|
41 writeFile( dir + "/index.html", indexFile.replace( /{TESTS}/g, testFile.join("\n") ) ); |