newjs 1.7.2 → 1.7.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +13 -2
- data/Rakefile +11 -20
- data/app_generators/newjs/templates/test/assets/jsunittest.js +173 -135
- data/app_generators/newjs_iphone/templates/Html/test/assets/jsunittest.js +173 -135
- data/app_generators/newjs_screwunit/USAGE +5 -0
- data/app_generators/newjs_screwunit/newjs_screwunit_generator.rb +61 -0
- data/app_generators/newjs_screwunit/templates/Rakefile.erb +34 -0
- data/bin/newjs_screwunit +17 -0
- data/features/development.feature +5 -5
- data/features/imported_files_for_generators.feature +2 -2
- data/features/newjs_screwunit.feature +18 -0
- data/features/step_definitions/cli_steps.rb +9 -0
- data/features/{steps/common.rb → step_definitions/common_steps.rb} +39 -81
- data/features/step_definitions/file_comparison_steps.rb +10 -0
- data/features/support/common.rb +29 -0
- data/features/support/env.rb +15 -0
- data/features/support/matchers.rb +11 -0
- data/lib/newjs.rb +1 -1
- data/rack_generators/javascript_test/templates/assets/jsunittest.js +173 -135
- data/rails_generators/javascript_test/templates/assets/jsunittest.js +173 -135
- data/test/test_newjs_screwunit_generator.rb +43 -0
- data/vendor/jsunittest/History.txt +9 -0
- data/vendor/jsunittest/Rakefile +1 -1
- data/vendor/jsunittest/dist/jsunittest-0.7.3.js +1042 -0
- data/vendor/jsunittest/dist/jsunittest.js +173 -135
- data/vendor/jsunittest/src/ajax.js +2 -1
- data/vendor/jsunittest/src/assertions.js +49 -78
- data/vendor/jsunittest/src/common.js +83 -24
- data/vendor/jsunittest/src/jsunittest.js +7 -998
- data/vendor/jsunittest/src/logger.js +6 -6
- data/vendor/jsunittest/src/message_template.js +1 -1
- data/vendor/jsunittest/src/prototype/event.js +2 -2
- data/vendor/jsunittest/src/prototype/template.js +7 -6
- data/vendor/jsunittest/src/runner.js +13 -12
- data/vendor/jsunittest/src/test_case.js +11 -6
- data/vendor/jsunittest/test/unit/assertions_test.html +9 -1
- data/vendor/jsunittest/test/unit/common_test.html +9 -1
- data/vendor/jsunittest/test/unit/logger_test.html +2 -2
- data/vendor/jsunittest/test/unit/message_template_test.html +2 -2
- data/vendor/jsunittest/test/unit/runner_test.html +2 -2
- data/vendor/jsunittest/test/unit/template_test.html +2 -2
- data/vendor/jsunittest/test/unit/test_case_test.html +24 -3
- data/vendor/jsunittest/website/images/logo_bundle.png +0 -0
- data/vendor/jsunittest/website/index.html +3 -3
- data/vendor/jsunittest/website/index.txt +1 -1
- data/vendor/jsunittest/website/stylesheets/screen.css +3 -0
- data/vendor/jsunittest/website/tmbundle/JavaScript Unit Testing.tmbundle.tar.gz +0 -0
- metadata +20 -14
- data/features/steps/env.rb +0 -6
@@ -1,10 +1,10 @@
|
|
1
1
|
JsUnitTest.Unit.Logger = function(element) {
|
2
2
|
this.element = JsUnitTest.$(element);
|
3
|
-
if (this.element) this._createLogTable();
|
3
|
+
if (this.element) {this._createLogTable();}
|
4
4
|
};
|
5
5
|
|
6
6
|
JsUnitTest.Unit.Logger.prototype.start = function(testName) {
|
7
|
-
if (!this.element) return;
|
7
|
+
if (!this.element) {return;}
|
8
8
|
var tbody = this.element.getElementsByTagName('tbody')[0];
|
9
9
|
|
10
10
|
var tr = document.createElement('tr');
|
@@ -13,7 +13,7 @@ JsUnitTest.Unit.Logger.prototype.start = function(testName) {
|
|
13
13
|
//testname
|
14
14
|
td = document.createElement('td');
|
15
15
|
td.appendChild(document.createTextNode(testName));
|
16
|
-
tr.appendChild(td)
|
16
|
+
tr.appendChild(td);
|
17
17
|
|
18
18
|
tr.appendChild(document.createElement('td'));//status
|
19
19
|
tr.appendChild(document.createElement('td'));//message
|
@@ -29,13 +29,13 @@ JsUnitTest.Unit.Logger.prototype.setStatus = function(status) {
|
|
29
29
|
};
|
30
30
|
|
31
31
|
JsUnitTest.Unit.Logger.prototype.finish = function(status, summary) {
|
32
|
-
if (!this.element) return;
|
32
|
+
if (!this.element) {return;}
|
33
33
|
this.setStatus(status);
|
34
34
|
this.message(summary);
|
35
35
|
};
|
36
36
|
|
37
37
|
JsUnitTest.Unit.Logger.prototype.message = function(message) {
|
38
|
-
if (!this.element) return;
|
38
|
+
if (!this.element) {return;}
|
39
39
|
var cell = this.getMessageCell();
|
40
40
|
|
41
41
|
// cell.appendChild(document.createTextNode(this._toHTML(message)));
|
@@ -43,7 +43,7 @@ JsUnitTest.Unit.Logger.prototype.message = function(message) {
|
|
43
43
|
};
|
44
44
|
|
45
45
|
JsUnitTest.Unit.Logger.prototype.summary = function(summary) {
|
46
|
-
if (!this.element) return;
|
46
|
+
if (!this.element) {return;}
|
47
47
|
var div = this.element.getElementsByTagName('div')[0];
|
48
48
|
div.innerHTML = this._toHTML(summary);
|
49
49
|
};
|
@@ -12,6 +12,6 @@ JsUnitTest.Unit.MessageTemplate.prototype.evaluate = function(params) {
|
|
12
12
|
var part = this.parts[i];
|
13
13
|
var result = (part == '?') ? JsUnitTest.inspect(params.shift()) : part.replace(/\\\?/, '?');
|
14
14
|
results.push(result);
|
15
|
-
}
|
15
|
+
}
|
16
16
|
return results.join('');
|
17
17
|
};
|
@@ -10,9 +10,9 @@ JsUnitTest.Event.addEvent = function(element, type, handler) {
|
|
10
10
|
element.addEventListener(type, handler, false);
|
11
11
|
} else {
|
12
12
|
// assign each event handler a unique ID
|
13
|
-
if (!handler.$$guid) handler.$$guid = JsUnitTest.Event.addEvent.guid++;
|
13
|
+
if (!handler.$$guid) {handler.$$guid = JsUnitTest.Event.addEvent.guid++;}
|
14
14
|
// create a hash table of event types for the element
|
15
|
-
if (!element.events) element.events = {};
|
15
|
+
if (!element.events) {element.events = {};}
|
16
16
|
// create a hash table of event handlers for each element/event pair
|
17
17
|
var handlers = element.events[type];
|
18
18
|
if (!handlers) {
|
@@ -4,30 +4,31 @@ JsUnitTest.Template = function(template, pattern) {
|
|
4
4
|
};
|
5
5
|
|
6
6
|
JsUnitTest.Template.prototype.evaluate = function(object) {
|
7
|
-
if (typeof object.toTemplateReplacements == "function")
|
7
|
+
if (typeof object.toTemplateReplacements == "function") {
|
8
8
|
object = object.toTemplateReplacements();
|
9
|
+
}
|
9
10
|
|
10
11
|
return JsUnitTest.gsub(this.template, this.pattern, function(match) {
|
11
|
-
if (object == null) return '';
|
12
|
+
if (object == null) {return '';}
|
12
13
|
|
13
14
|
var before = match[1] || '';
|
14
|
-
if (before == '\\') return match[2];
|
15
|
+
if (before == '\\') {return match[2];}
|
15
16
|
|
16
17
|
var ctx = object, expr = match[3];
|
17
18
|
var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
|
18
19
|
match = pattern.exec(expr);
|
19
|
-
if (match == null) return before;
|
20
|
+
if (match == null) {return before;}
|
20
21
|
|
21
22
|
while (match != null) {
|
22
23
|
var comp = (match[1].indexOf('[]') === 0) ? match[2].gsub('\\\\]', ']') : match[1];
|
23
24
|
ctx = ctx[comp];
|
24
|
-
if (null == ctx || '' == match[3]) break;
|
25
|
+
if (null == ctx || '' == match[3]) {break;}
|
25
26
|
expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
|
26
27
|
match = pattern.exec(expr);
|
27
28
|
}
|
28
29
|
|
29
30
|
return before + JsUnitTest.String.interpret(ctx);
|
30
31
|
});
|
31
|
-
}
|
32
|
+
};
|
32
33
|
|
33
34
|
JsUnitTest.Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
|
@@ -23,7 +23,7 @@ JsUnitTest.Unit.Runner.prototype.portNumber = function() {
|
|
23
23
|
if (window.location.search.length > 0) {
|
24
24
|
var matches = window.location.search.match(/\:(\d{3,5})\//);
|
25
25
|
if (matches) {
|
26
|
-
return parseInt(matches[1]);
|
26
|
+
return parseInt(matches[1], 10);
|
27
27
|
}
|
28
28
|
}
|
29
29
|
return null;
|
@@ -31,22 +31,23 @@ JsUnitTest.Unit.Runner.prototype.portNumber = function() {
|
|
31
31
|
|
32
32
|
JsUnitTest.Unit.Runner.prototype.getTests = function(testcases) {
|
33
33
|
var tests = [], options = this.options;
|
34
|
-
if (this.queryParams.tests) tests = this.queryParams.tests.split(',');
|
35
|
-
else if (options.tests) tests = options.tests;
|
36
|
-
else if (options.test) tests = [option.test];
|
34
|
+
if (this.queryParams.tests) {tests = this.queryParams.tests.split(',');}
|
35
|
+
else if (options.tests) {tests = options.tests;}
|
36
|
+
else if (options.test) {tests = [option.test];}
|
37
37
|
else {
|
38
38
|
for (testname in testcases) {
|
39
|
-
if (testname.match(/^test/)) tests.push(testname);
|
39
|
+
if (testname.match(/^test/)) {tests.push(testname);}
|
40
40
|
}
|
41
41
|
}
|
42
42
|
var results = [];
|
43
43
|
for (var i=0; i < tests.length; i++) {
|
44
44
|
var test = tests[i];
|
45
|
-
if (testcases[test])
|
45
|
+
if (testcases[test]) {
|
46
46
|
results.push(
|
47
47
|
new JsUnitTest.Unit.Testcase(test, testcases[test], testcases.setup, testcases.teardown)
|
48
48
|
);
|
49
|
-
|
49
|
+
}
|
50
|
+
}
|
50
51
|
return results;
|
51
52
|
};
|
52
53
|
|
@@ -65,7 +66,7 @@ JsUnitTest.Unit.Runner.prototype.getResult = function() {
|
|
65
66
|
results.failures += test.failures;
|
66
67
|
results.errors += test.errors;
|
67
68
|
results.warnings += test.warnings;
|
68
|
-
}
|
69
|
+
}
|
69
70
|
return results;
|
70
71
|
};
|
71
72
|
|
@@ -83,15 +84,15 @@ JsUnitTest.Unit.Runner.prototype.postResults = function() {
|
|
83
84
|
JsUnitTest.ajax({
|
84
85
|
url: url,
|
85
86
|
type: 'GET'
|
86
|
-
})
|
87
|
+
});
|
87
88
|
}
|
88
89
|
};
|
89
90
|
|
90
91
|
JsUnitTest.Unit.Runner.prototype.runTests = function() {
|
91
92
|
var test = this.tests[this.currentTest], actions;
|
92
93
|
|
93
|
-
if (!test) return this.finish();
|
94
|
-
if (!test.isWaiting) this.logger.start(test.name);
|
94
|
+
if (!test) {return this.finish();}
|
95
|
+
if (!test.isWaiting) {this.logger.start(test.name);}
|
95
96
|
test.run();
|
96
97
|
var self = this;
|
97
98
|
if(test.isWaiting) {
|
@@ -104,7 +105,7 @@ JsUnitTest.Unit.Runner.prototype.runTests = function() {
|
|
104
105
|
}
|
105
106
|
|
106
107
|
this.logger.finish(test.status(), test.summary());
|
107
|
-
if (actions = test.actions) this.logger.appendActionButtons(actions);
|
108
|
+
if (actions = test.actions) {this.logger.appendActionButtons(actions);}
|
108
109
|
this.currentTest++;
|
109
110
|
// tail recursive, hopefully the browser will skip the stackframe
|
110
111
|
this.runTests();
|
@@ -31,7 +31,7 @@ JsUnitTest.Unit.Testcase.prototype.wait = function(time, nextPart) {
|
|
31
31
|
JsUnitTest.Unit.Testcase.prototype.run = function(rethrow) {
|
32
32
|
try {
|
33
33
|
try {
|
34
|
-
if (!this.isWaiting) this.setup();
|
34
|
+
if (!this.isWaiting) {this.setup();}
|
35
35
|
this.isWaiting = false;
|
36
36
|
this.test();
|
37
37
|
} finally {
|
@@ -41,7 +41,7 @@ JsUnitTest.Unit.Testcase.prototype.run = function(rethrow) {
|
|
41
41
|
}
|
42
42
|
}
|
43
43
|
catch(e) {
|
44
|
-
if (rethrow) throw e;
|
44
|
+
if (rethrow) {throw e;}
|
45
45
|
this.error(e, this);
|
46
46
|
}
|
47
47
|
};
|
@@ -85,14 +85,19 @@ JsUnitTest.Unit.Testcase.prototype.info = function(message) {
|
|
85
85
|
|
86
86
|
JsUnitTest.Unit.Testcase.prototype.error = function(error, test) {
|
87
87
|
this.errors++;
|
88
|
-
this.actions['retry with throw'] = function() { test.run(true) };
|
88
|
+
this.actions['retry with throw'] = function() { test.run(true); };
|
89
89
|
this.messages.push(error.name + ": "+ error.message + "(" + JsUnitTest.inspect(error) + ")");
|
90
|
+
if( typeof console != "undefined" && console.error) {
|
91
|
+
console.error("Test '" + test.name + "' died, exception and test follows");
|
92
|
+
console.error(error);
|
93
|
+
console.error(test.test.toString());
|
94
|
+
}
|
90
95
|
};
|
91
96
|
|
92
97
|
JsUnitTest.Unit.Testcase.prototype.status = function() {
|
93
|
-
if (this.failures > 0) return 'failed';
|
94
|
-
if (this.errors > 0) return 'error';
|
95
|
-
if (this.warnings > 0) return 'warning';
|
98
|
+
if (this.failures > 0) {return 'failed';}
|
99
|
+
if (this.errors > 0) {return 'error';}
|
100
|
+
if (this.warnings > 0) {return 'warning';}
|
96
101
|
return 'passed';
|
97
102
|
};
|
98
103
|
|
@@ -82,6 +82,9 @@
|
|
82
82
|
assertEqual("a", "a");
|
83
83
|
assertEqual("a", "a", "test");
|
84
84
|
|
85
|
+
assertEqual("A\nnew line", "A\nnew line", "New lines");
|
86
|
+
assertEqual("A\x18special char", "A\x18special char", "Other special char");
|
87
|
+
|
85
88
|
assertNotEqual(0, 1);
|
86
89
|
assertNotEqual("a","b");
|
87
90
|
assertNotEqual({},{});
|
@@ -165,10 +168,15 @@
|
|
165
168
|
testHasClass: function() { with(this) {
|
166
169
|
// <div id="test_1" class="a bbbbbbbbbbbb cccccccccc dddd"> </div>
|
167
170
|
assertHasClass('test_1', 'a');
|
168
|
-
// info(document.getElementById('test_1').className);
|
169
171
|
assertHasClass(document.getElementById('test_1'), 'dddd');
|
170
172
|
}},
|
171
173
|
|
174
|
+
testNotHasClass: function() { with(this) {
|
175
|
+
// <div id="test_1" class="a bbbbbbbbbbbb cccccccccc dddd"> </div>
|
176
|
+
assertNotHasClass('test_1', 'abc');
|
177
|
+
assertNotHasClass(document.getElementById('test_1'), 'ddd');
|
178
|
+
}},
|
179
|
+
|
172
180
|
testAssertVisible: function() { with(this) {
|
173
181
|
assertVisible('testcss1');
|
174
182
|
assertNotVisible('testcss1_span');
|
@@ -51,11 +51,19 @@
|
|
51
51
|
var expected = [ 'a', 1, 'b', 2, 'zzz', 1, 2, 3];
|
52
52
|
var actual = JsUnitTest.flattenArray(original);
|
53
53
|
assertEnumEqual(expected, actual);
|
54
|
+
}},
|
55
|
+
testToHexString: function() { with(this) {
|
56
|
+
assertEqual('01', JsUnitTest.toHexString(1));
|
57
|
+
assertEqual('0f', JsUnitTest.toHexString(15));
|
58
|
+
assertEqual('f0', JsUnitTest.toHexString(240));
|
59
|
+
assertEqual('ff', JsUnitTest.toHexString(255));
|
54
60
|
}}
|
55
61
|
|
56
62
|
|
63
|
+
|
64
|
+
|
57
65
|
});
|
58
66
|
// ]]>
|
59
67
|
</script>
|
60
68
|
</body>
|
61
|
-
</html>
|
69
|
+
</html>
|
@@ -34,11 +34,11 @@
|
|
34
34
|
testBuildMessage: function() {
|
35
35
|
this.assertEqual("'foo' 'bar'", this.buildMessage('', '? ?', 'foo', 'bar'))
|
36
36
|
// this.assertEqual("<'foo'> 'bar'", this.buildMessage('', '<?> ?', 'foo', 'bar'))
|
37
|
-
}
|
37
|
+
}
|
38
38
|
|
39
39
|
|
40
40
|
});
|
41
41
|
// ]]>
|
42
42
|
</script>
|
43
43
|
</body>
|
44
|
-
</html>
|
44
|
+
</html>
|
@@ -67,11 +67,11 @@
|
|
67
67
|
assertEqual(0, results.failures);
|
68
68
|
assertEqual(0, results.warnings);
|
69
69
|
assertEqual("2 tests, 2 assertions, 0 failures, 0 errors, 0 warnings", runner.summary());
|
70
|
-
}}
|
70
|
+
}}
|
71
71
|
|
72
72
|
|
73
73
|
});
|
74
74
|
// ]]>
|
75
75
|
</script>
|
76
76
|
</body>
|
77
|
-
</html>
|
77
|
+
</html>
|
@@ -47,11 +47,11 @@
|
|
47
47
|
var pattern = /(^|.|\r|\n)(#\((.*?)\))/;
|
48
48
|
assertEqual('#{name}: Stephan', new JsUnitTest.Template('\\#{name}: #{name}').evaluate(subject));
|
49
49
|
assertEqual('#(name): Stephan', new JsUnitTest.Template('\\#(name): #(name)', pattern).evaluate(subject));
|
50
|
-
}}
|
50
|
+
}}
|
51
51
|
|
52
52
|
|
53
53
|
});
|
54
54
|
// ]]>
|
55
55
|
</script>
|
56
56
|
</body>
|
57
|
-
</html>
|
57
|
+
</html>
|
@@ -83,15 +83,36 @@
|
|
83
83
|
|
84
84
|
// Error
|
85
85
|
testError: function() { with(this) {
|
86
|
-
testcase.error({name: "name", message: "An Error"});
|
86
|
+
testcase.error({name: "name", message: "An Error"}, testcase);
|
87
87
|
assertEqual(0, testcase.assertions, "Assertions");
|
88
88
|
assertEqual(1, testcase.errors, "Errors");
|
89
|
-
assertEqual("name: An Error(
|
89
|
+
assertEqual("name: An Error(Object: { name: name, message: An Error })", testcase.messages[0], 'Should be equal');
|
90
90
|
assertEqual('error', testcase.status(), 'Should be equal');
|
91
91
|
}},
|
92
|
+
|
93
|
+
testErrorOnFirebug : function() { with(this) {
|
94
|
+
var results = [];
|
95
|
+
var orig_console = window.console;
|
96
|
+
try {
|
97
|
+
// we need to delete the firebug console on Firefox
|
98
|
+
// but the delete statement fails on IE
|
99
|
+
delete window.console;
|
100
|
+
} catch(e) {};
|
101
|
+
window.console = {
|
102
|
+
error: function(s) {
|
103
|
+
results.push(s);
|
104
|
+
}
|
105
|
+
};
|
106
|
+
testcase.error({name: "name", message: "An Error"}, testcase);
|
107
|
+
var fn = function() {};
|
108
|
+
assertEqual("Test 'name' died, exception and test follows", results[0]);
|
109
|
+
assertEqual(fn.toString(), results[2]);
|
110
|
+
assertHashEqual({ message: 'An Error', name: 'name' }, results[1]);
|
111
|
+
window.console = orig_console;
|
112
|
+
}}
|
92
113
|
|
93
114
|
});
|
94
115
|
// ]]>
|
95
116
|
</script>
|
96
117
|
</body>
|
97
|
-
</html>
|
118
|
+
</html>
|
Binary file
|
@@ -31,13 +31,13 @@
|
|
31
31
|
<h1>JsUnitTest – JavaScript Unit Testing framework</h1>
|
32
32
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/drnicjavascript"; return false'>
|
33
33
|
<p>Get Version</p>
|
34
|
-
<a href="http://rubyforge.org/projects/drnicjavascript" class="numbers">0.7.
|
34
|
+
<a href="http://rubyforge.org/projects/drnicjavascript" class="numbers">0.7.3</a>
|
35
35
|
</div>
|
36
36
|
<h2>What</h2>
|
37
37
|
<p>This JavaScript project provides a one-file JavaScript test suite.</p>
|
38
38
|
<p>This is based off unittest.js from <a href="http://prototypejs.org">prototypejs</a>, except this library has no dependency on prototype.js so there is no chance your code-under-test can conflict with prototype.js or that you might accidently use a prototype.js helper for a library that will be deployed independently off prototypejs.</p>
|
39
39
|
<p>There is also a TextMate bundle with snippets for creating the runner and assertions.</p>
|
40
|
-
<p><a href="tmbundle/JavaScript Unit Testing.tmbundle.tar.gz"><img src="images/logo_bundle.png"
|
40
|
+
<p><a class="image" href="tmbundle/JavaScript Unit Testing.tmbundle.tar.gz"><img src="images/logo_bundle.png" alt="Logo Bundle" border=0></a> – click to download. More information below.</p>
|
41
41
|
<h2>Downloading</h2>
|
42
42
|
<p>Get the latest here: <a href="dist/jsunittest.js">jsunittest.js</a></p>
|
43
43
|
<p>Alternately, download the source for the project via the large version number box to the top-right.</p>
|
@@ -83,7 +83,7 @@ example_test.html<br />
|
|
83
83
|
<h2>Contact</h2>
|
84
84
|
<p>Comments are welcome. Send an email to <a href="mailto:drnicwilliams@gmail.com">Dr Nic Williams</a> via the <a href="http://groups.google.com/group/drnic-javascript-projects">forum</a></p>
|
85
85
|
<p class="coda">
|
86
|
-
<a href="drnicwilliams@gmail.com">Dr Nic Williams</a>,
|
86
|
+
<a href="drnicwilliams@gmail.com">Dr Nic Williams</a>, 20th March 2009<br>
|
87
87
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
88
88
|
</p>
|
89
89
|
</div>
|
@@ -8,7 +8,7 @@ This is based off unittest.js from "prototypejs":http://prototypejs.org, except
|
|
8
8
|
|
9
9
|
There is also a TextMate bundle with snippets for creating the runner and assertions.
|
10
10
|
|
11
|
-
<a href="tmbundle/JavaScript Unit Testing.tmbundle.tar.gz"><img src="images/logo_bundle.png"
|
11
|
+
<a class="image" href="tmbundle/JavaScript Unit Testing.tmbundle.tar.gz"><img src="images/logo_bundle.png" alt="Logo Bundle" border=0></a> - click to download. More information below.
|
12
12
|
|
13
13
|
h2. Downloading
|
14
14
|
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Nic Williams
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-07-27 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.
|
23
|
+
version: 1.5.1
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: hoe
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.3.1
|
34
34
|
version:
|
35
35
|
description: |-
|
36
36
|
The +newjs+ command creates a new JavaScript project/application
|
@@ -40,19 +40,13 @@ email:
|
|
40
40
|
executables:
|
41
41
|
- newjs
|
42
42
|
- newjs_iphone
|
43
|
+
- newjs_screwunit
|
43
44
|
extensions: []
|
44
45
|
|
45
46
|
extra_rdoc_files:
|
46
47
|
- History.txt
|
47
48
|
- Manifest.txt
|
48
|
-
- README.rdoc
|
49
49
|
- newjs_generators/install_website/templates/website/index.txt
|
50
|
-
- vendor/jshoulda/History.txt
|
51
|
-
- vendor/jshoulda/License.txt
|
52
|
-
- vendor/jsunittest/History.txt
|
53
|
-
- vendor/jsunittest/License.txt
|
54
|
-
- vendor/jsunittest/README.txt
|
55
|
-
- vendor/jsunittest/website/index.txt
|
56
50
|
- website/index.txt
|
57
51
|
files:
|
58
52
|
- History.txt
|
@@ -94,14 +88,23 @@ files:
|
|
94
88
|
- app_generators/newjs_iphone/templates/Html/tasks/javascript_test_autotest_tasks.rake
|
95
89
|
- app_generators/newjs_iphone/templates/Html/test/assets/jsunittest.js
|
96
90
|
- app_generators/newjs_iphone/templates/Html/test/assets/unittest.css
|
91
|
+
- app_generators/newjs_screwunit/USAGE
|
92
|
+
- app_generators/newjs_screwunit/newjs_screwunit_generator.rb
|
93
|
+
- app_generators/newjs_screwunit/templates/Rakefile.erb
|
97
94
|
- bin/newjs
|
98
95
|
- bin/newjs_iphone
|
96
|
+
- bin/newjs_screwunit
|
99
97
|
- config/website.yml
|
100
98
|
- config/website.yml.sample
|
101
99
|
- features/development.feature
|
102
100
|
- features/imported_files_for_generators.feature
|
103
|
-
- features/
|
104
|
-
- features/
|
101
|
+
- features/newjs_screwunit.feature
|
102
|
+
- features/step_definitions/cli_steps.rb
|
103
|
+
- features/step_definitions/common_steps.rb
|
104
|
+
- features/step_definitions/file_comparison_steps.rb
|
105
|
+
- features/support/common.rb
|
106
|
+
- features/support/env.rb
|
107
|
+
- features/support/matchers.rb
|
105
108
|
- javascript_test_generators/functional_test/USAGE
|
106
109
|
- javascript_test_generators/functional_test/functional_test_generator.rb
|
107
110
|
- javascript_test_generators/functional_test/templates/test/assets/jshoulda.js
|
@@ -182,6 +185,7 @@ files:
|
|
182
185
|
- test/test_install_website_generator.rb
|
183
186
|
- test/test_newjs_generator.rb
|
184
187
|
- test/test_newjs_iphone_generator.rb
|
188
|
+
- test/test_newjs_screwunit_generator.rb
|
185
189
|
- test/test_page_generator.rb
|
186
190
|
- test/test_plain_theme_generator.rb
|
187
191
|
- test/test_rack_javascript_test.rb
|
@@ -263,6 +267,7 @@ files:
|
|
263
267
|
- vendor/jsunittest/config/deploy.rb
|
264
268
|
- vendor/jsunittest/config/website.yml.sample
|
265
269
|
- vendor/jsunittest/dist/jsunittest-0.7.2.js
|
270
|
+
- vendor/jsunittest/dist/jsunittest-0.7.3.js
|
266
271
|
- vendor/jsunittest/dist/jsunittest.js
|
267
272
|
- vendor/jsunittest/dist/unittest.css
|
268
273
|
- vendor/jsunittest/lib/jstest.rb
|
@@ -347,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
347
352
|
requirements: []
|
348
353
|
|
349
354
|
rubyforge_project: newjs
|
350
|
-
rubygems_version: 1.3.
|
355
|
+
rubygems_version: 1.3.4
|
351
356
|
signing_key:
|
352
357
|
specification_version: 3
|
353
358
|
summary: The +newjs+ command creates a new JavaScript project/application with a default directory structure and configuration at the path you specify.
|
@@ -358,6 +363,7 @@ test_files:
|
|
358
363
|
- test/test_install_website_generator.rb
|
359
364
|
- test/test_newjs_generator.rb
|
360
365
|
- test/test_newjs_iphone_generator.rb
|
366
|
+
- test/test_newjs_screwunit_generator.rb
|
361
367
|
- test/test_page_generator.rb
|
362
368
|
- test/test_plain_theme_generator.rb
|
363
369
|
- test/test_rack_javascript_test.rb
|