newjs 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|