vulcan 0.3.0 → 0.4.0
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/bin/vulcan +3 -1
- data/lib/vulcan/cli.rb +22 -3
- data/lib/vulcan/version.rb +1 -1
- data/server/bin/make +1 -3
- data/server/lib/spawner.js +9 -4
- data/server/node_modules/connect-form/node_modules/formidable/Readme.md +13 -2
- data/server/node_modules/connect-form/node_modules/formidable/lib/incoming_form.js +19 -7
- data/server/node_modules/connect-form/node_modules/formidable/lib/multipart_parser.js +12 -1
- data/server/node_modules/connect-form/node_modules/formidable/package.json +1 -1
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/file/plain.txt +1 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/no-filename/generic.http +13 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -10
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -9
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/js/no-filename.js +3 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +1 -1
- data/server/node_modules/cradle/lib/cradle.js +0 -1
- data/server/node_modules/cradle/package.json +3 -3
- data/server/node_modules/cradle/test/cache-test.js +6 -7
- data/server/node_modules/cradle/test/cradle-test.js +4 -5
- data/server/node_modules/cradle/test/response-test.js +5 -6
- data/server/node_modules/express/History.md +53 -1
- data/server/node_modules/express/Makefile +3 -9
- data/server/node_modules/express/Readme.md +3 -1
- data/server/node_modules/express/bin/express +65 -66
- data/server/node_modules/express/lib/express.js +1 -1
- data/server/node_modules/express/lib/request.js +23 -9
- data/server/node_modules/express/lib/response.js +3 -2
- data/server/node_modules/express/lib/utils.js +13 -0
- data/server/node_modules/express/lib/view/view.js +2 -1
- data/server/node_modules/express/lib/view.js +19 -16
- data/server/node_modules/express/node_modules/connect/lib/connect.js +1 -1
- data/server/node_modules/express/node_modules/connect/lib/http.js +2 -0
- data/server/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js +135 -31
- data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +5 -1
- data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +2 -2
- data/server/node_modules/express/node_modules/connect/lib/middleware/static.js +26 -21
- data/server/node_modules/express/node_modules/connect/lib/middleware/staticCache.js +91 -38
- data/server/node_modules/express/node_modules/connect/lib/middleware/vhost.js +1 -1
- data/server/node_modules/express/node_modules/connect/lib/utils.js +11 -4
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/Makefile +14 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md +286 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/TODO +3 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/benchmark/bench-multipart-parser.js +70 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/post.js +43 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/upload.js +48 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/index.js +1 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/file.js +61 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js +377 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js +3 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js +312 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js +25 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js +6 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/package.json +22 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/common.js +19 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt +1 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt +1 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http +13 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md +3 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +26 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http +24 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +23 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +24 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +22 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +22 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +22 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js +3 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +21 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multi_video.upload +0 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multipart.js +72 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/integration/test-fixtures.js +89 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js +24 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/integration/test-multipart-parser.js +80 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-file.js +104 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js +715 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +50 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-querystring-parser.js +45 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/test-multi-video-upload.js +72 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/run.js +2 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/unit/test-incoming-form.js +63 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/tool/record.js +47 -0
- data/server/node_modules/express/node_modules/connect/package.json +7 -6
- data/server/node_modules/express/node_modules/connect/test.js +44 -31
- data/server/node_modules/express/node_modules/mime/mime.js +3 -3
- data/server/node_modules/express/node_modules/mime/package.json +21 -10
- data/server/node_modules/express/node_modules/mime/test.js +2 -3
- data/server/node_modules/express/node_modules/mime/{mime.types → types/mime.types} +0 -0
- data/server/node_modules/express/node_modules/mime/{node.types → types/node.types} +17 -0
- data/server/node_modules/express/node_modules/mkdirp/LICENSE +21 -0
- data/server/node_modules/express/node_modules/mkdirp/README.markdown +21 -0
- data/server/node_modules/express/node_modules/mkdirp/examples/pow.js +6 -0
- data/server/node_modules/express/node_modules/mkdirp/examples/pow.js.orig +6 -0
- data/server/node_modules/express/node_modules/mkdirp/examples/pow.js.rej +19 -0
- data/server/node_modules/express/node_modules/mkdirp/index.js +20 -0
- data/server/node_modules/express/node_modules/mkdirp/package.json +23 -0
- data/server/node_modules/express/node_modules/mkdirp/test/mkdirp.js +28 -0
- data/server/node_modules/express/node_modules/mkdirp/test/race.js +41 -0
- data/server/node_modules/express/node_modules/mkdirp/test/rel.js +32 -0
- data/server/node_modules/express/node_modules/qs/History.md +11 -0
- data/server/node_modules/express/node_modules/qs/Makefile +1 -3
- data/server/node_modules/express/node_modules/qs/Readme.md +2 -4
- data/server/node_modules/express/node_modules/qs/lib/querystring.js +100 -74
- data/server/node_modules/express/node_modules/qs/package.json +9 -2
- data/server/node_modules/express/node_modules/qs/test/mocha.opts +2 -0
- data/server/node_modules/express/node_modules/qs/test/{parse.test.js → parse.js} +1 -2
- data/server/node_modules/express/node_modules/qs/test/{stringify.test.js → stringify.js} +0 -0
- data/server/node_modules/express/package.json +9 -8
- data/server/node_modules/express/testing/foo/app.js +35 -0
- data/server/node_modules/express/testing/foo/package.json +9 -0
- data/server/node_modules/express/testing/foo/public/stylesheets/style.css +8 -0
- data/server/node_modules/express/testing/foo/routes/index.js +10 -0
- data/server/node_modules/express/testing/foo/views/index.jade +2 -0
- data/server/node_modules/express/testing/foo/views/layout.jade +6 -0
- data/server/node_modules/express/testing/index.js +43 -0
- data/server/node_modules/express/testing/public/test.txt +2971 -0
- data/server/node_modules/express/testing/views/page.html +1 -0
- data/server/node_modules/express/testing/views/page.jade +3 -0
- data/server/node_modules/express/testing/views/test.md +1 -0
- data/server/node_modules/express/testing/views/user/index.jade +1 -0
- data/server/node_modules/express/testing/views/user/list.jade +1 -0
- data/server/node_modules/node-uuid/README.md +166 -67
- data/server/node_modules/node-uuid/benchmark/README.md +53 -0
- data/server/node_modules/node-uuid/benchmark/bench.gnu +174 -0
- data/server/node_modules/node-uuid/benchmark/bench.sh +34 -0
- data/server/node_modules/node-uuid/{test → benchmark}/benchmark-native.c +0 -0
- data/server/node_modules/node-uuid/benchmark/benchmark.js +84 -0
- data/server/node_modules/node-uuid/package.json +5 -3
- data/server/node_modules/node-uuid/test/benchmark-native +0 -0
- data/server/node_modules/node-uuid/test/compare_v1.js +63 -0
- data/server/node_modules/node-uuid/test/test.html +3 -0
- data/server/node_modules/node-uuid/test/test.js +214 -57
- data/server/node_modules/node-uuid/uuid.js +225 -56
- data/server/node_modules/restler/README.md +20 -7
- data/server/node_modules/restler/bin/restler +1 -1
- data/server/node_modules/restler/lib/multipartform.js +9 -8
- data/server/node_modules/restler/lib/restler.js +64 -22
- data/server/node_modules/restler/package.json +2 -2
- data/server/node_modules/restler/test/restler.js +22 -2
- data/server/node_modules/restler/test/test_helper.js +20 -1
- data/server/package.json +1 -2
- data/server/web.js +30 -7
- metadata +90 -86
- data/server/node_modules/cradle/node_modules/vows/LICENSE +0 -20
- data/server/node_modules/cradle/node_modules/vows/Makefile +0 -7
- data/server/node_modules/cradle/node_modules/vows/README.md +0 -39
- data/server/node_modules/cradle/node_modules/vows/bin/vows +0 -515
- data/server/node_modules/cradle/node_modules/vows/lib/assert/error.js +0 -27
- data/server/node_modules/cradle/node_modules/vows/lib/assert/macros.js +0 -215
- data/server/node_modules/cradle/node_modules/vows/lib/assert/utils.js +0 -77
- data/server/node_modules/cradle/node_modules/vows/lib/vows/console.js +0 -131
- data/server/node_modules/cradle/node_modules/vows/lib/vows/context.js +0 -55
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/file.js +0 -29
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-foot.html +0 -2
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-head.html +0 -61
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-html.js +0 -54
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-json.js +0 -54
- data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-plain.js +0 -38
- data/server/node_modules/cradle/node_modules/vows/lib/vows/extras.js +0 -28
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/dot-matrix.js +0 -67
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/json.js +0 -16
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/silent.js +0 -8
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/spec.js +0 -44
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/watch.js +0 -39
- data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/xunit.js +0 -90
- data/server/node_modules/cradle/node_modules/vows/lib/vows/suite.js +0 -319
- data/server/node_modules/cradle/node_modules/vows/lib/vows.js +0 -193
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/LICENSE +0 -20
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/Makefile +0 -4
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/README.md +0 -72
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/lib/eyes.js +0 -233
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/package.json +0 -14
- data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/test/eyes-test.js +0 -55
- data/server/node_modules/cradle/node_modules/vows/package.json +0 -14
- data/server/node_modules/cradle/node_modules/vows/test/assert-test.js +0 -135
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/failing.js +0 -18
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/log.js +0 -18
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/passing.js +0 -17
- data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/stderr.js +0 -18
- data/server/node_modules/cradle/node_modules/vows/test/isolate-test.js +0 -140
- data/server/node_modules/cradle/node_modules/vows/test/testInherit.js +0 -133
- data/server/node_modules/cradle/node_modules/vows/test/vows-error-test.js +0 -51
- data/server/node_modules/cradle/node_modules/vows/test/vows-test.js +0 -374
- data/server/node_modules/express/node_modules/mime/index.js +0 -1
- data/server/node_modules/express/node_modules/qs/support/expresso/History.md +0 -128
- data/server/node_modules/express/node_modules/qs/support/expresso/Makefile +0 -53
- data/server/node_modules/express/node_modules/qs/support/expresso/Readme.md +0 -61
- data/server/node_modules/express/node_modules/qs/support/expresso/bin/expresso +0 -856
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/api.html +0 -1080
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.html +0 -377
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.md +0 -290
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/foot.html +0 -3
- data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/head.html +0 -42
- data/server/node_modules/express/node_modules/qs/support/expresso/lib/bar.js +0 -4
- data/server/node_modules/express/node_modules/qs/support/expresso/lib/foo.js +0 -16
- data/server/node_modules/express/node_modules/qs/support/expresso/package.json +0 -12
- data/server/node_modules/express/node_modules/qs/support/expresso/test/assert.test.js +0 -91
- data/server/node_modules/express/node_modules/qs/support/expresso/test/async.test.js +0 -12
- data/server/node_modules/express/node_modules/qs/support/expresso/test/bar.test.js +0 -13
- data/server/node_modules/express/node_modules/qs/support/expresso/test/foo.test.js +0 -14
- data/server/node_modules/express/node_modules/qs/support/expresso/test/http.test.js +0 -146
- data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/async.test.js +0 -39
- data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/http.test.js +0 -48
- data/server/node_modules/express/node_modules/qs/support/should/History.md +0 -22
- data/server/node_modules/express/node_modules/qs/support/should/Makefile +0 -6
- data/server/node_modules/express/node_modules/qs/support/should/Readme.md +0 -248
- data/server/node_modules/express/node_modules/qs/support/should/examples/runner.js +0 -53
- data/server/node_modules/express/node_modules/qs/support/should/index.js +0 -2
- data/server/node_modules/express/node_modules/qs/support/should/lib/eql.js +0 -91
- data/server/node_modules/express/node_modules/qs/support/should/lib/should.js +0 -548
- data/server/node_modules/express/node_modules/qs/support/should/package.json +0 -8
- data/server/node_modules/express/node_modules/qs/support/should/test/should.test.js +0 -358
- data/server/node_modules/node-uuid/test/benchmark.js +0 -27
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
var assert = require('assert'),
|
|
2
|
-
utils = require('./utils');
|
|
3
|
-
|
|
4
|
-
var messages = {
|
|
5
|
-
'equal' : "expected {expected},\n\tgot\t {actual} ({operator})",
|
|
6
|
-
'notEqual' : "didn't expect {actual} ({operator})"
|
|
7
|
-
};
|
|
8
|
-
messages['strictEqual'] = messages['deepEqual'] = messages['equal'];
|
|
9
|
-
messages['notStrictEqual'] = messages['notDeepEqual'] = messages['notEqual'];
|
|
10
|
-
|
|
11
|
-
for (var key in messages) {
|
|
12
|
-
assert[key] = (function (key, callback) {
|
|
13
|
-
return function (actual, expected, message) {
|
|
14
|
-
callback(actual, expected, message || messages[key]);
|
|
15
|
-
};
|
|
16
|
-
})(key, assert[key]);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
assert.ok = (function (callback) {
|
|
20
|
-
return function (actual, message) {
|
|
21
|
-
callback(actual, message || "expected expression to evaluate to {expected}, but was {actual}");
|
|
22
|
-
};
|
|
23
|
-
})(assert.ok);
|
|
24
|
-
|
|
25
|
-
assert.match = function (actual, expected, message) {
|
|
26
|
-
if (! expected.test(actual)) {
|
|
27
|
-
assert.fail(actual, expected, message || "expected {actual} to match {expected}", "match", assert.match);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
assert.matches = assert.match;
|
|
31
|
-
|
|
32
|
-
assert.isTrue = function (actual, message) {
|
|
33
|
-
if (actual !== true) {
|
|
34
|
-
assert.fail(actual, true, message || "expected {expected}, got {actual}", "===", assert.isTrue);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
assert.isFalse = function (actual, message) {
|
|
38
|
-
if (actual !== false) {
|
|
39
|
-
assert.fail(actual, false, message || "expected {expected}, got {actual}", "===", assert.isFalse);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
assert.isZero = function (actual, message) {
|
|
43
|
-
if (actual !== 0) {
|
|
44
|
-
assert.fail(actual, 0, message || "expected {expected}, got {actual}", "===", assert.isZero);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
assert.isNotZero = function (actual, message) {
|
|
48
|
-
if (actual === 0) {
|
|
49
|
-
assert.fail(actual, 0, message || "expected non-zero value, got {actual}", "===", assert.isNotZero);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
assert.greater = function (actual, expected, message) {
|
|
54
|
-
if (actual <= expected) {
|
|
55
|
-
assert.fail(actual, expected, message || "expected {actual} to be greater than {expected}", ">", assert.greater);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
assert.lesser = function (actual, expected, message) {
|
|
59
|
-
if (actual >= expected) {
|
|
60
|
-
assert.fail(actual, expected, message || "expected {actual} to be lesser than {expected}", "<", assert.lesser);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
assert.inDelta = function (actual, expected, delta, message) {
|
|
65
|
-
var lower = expected - delta;
|
|
66
|
-
var upper = expected + delta;
|
|
67
|
-
if (actual < lower || actual > upper) {
|
|
68
|
-
assert.fail(actual, expected, message || "expected {actual} to be in within *" + delta.toString() + "* of {expected}", null, assert.inDelta);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
//
|
|
73
|
-
// Inclusion
|
|
74
|
-
//
|
|
75
|
-
assert.include = function (actual, expected, message) {
|
|
76
|
-
if ((function (obj) {
|
|
77
|
-
if (isArray(obj) || isString(obj)) {
|
|
78
|
-
return obj.indexOf(expected) === -1;
|
|
79
|
-
} else if (isObject(actual)) {
|
|
80
|
-
return ! obj.hasOwnProperty(expected);
|
|
81
|
-
}
|
|
82
|
-
return false;
|
|
83
|
-
})(actual)) {
|
|
84
|
-
assert.fail(actual, expected, message || "expected {actual} to include {expected}", "include", assert.include);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
assert.includes = assert.include;
|
|
88
|
-
|
|
89
|
-
assert.deepInclude = function (actual, expected, message) {
|
|
90
|
-
if (!isArray(actual)) {
|
|
91
|
-
return assert.include(actual, expected, message);
|
|
92
|
-
}
|
|
93
|
-
if (!actual.some(function (item) { return utils.deepEqual(item, expected) })) {
|
|
94
|
-
assert.fail(actual, expected, message || "expected {actual} to include {expected}", "include", assert.deepInclude);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
assert.deepIncludes = assert.deepInclude;
|
|
98
|
-
|
|
99
|
-
//
|
|
100
|
-
// Length
|
|
101
|
-
//
|
|
102
|
-
assert.isEmpty = function (actual, message) {
|
|
103
|
-
if ((isObject(actual) && Object.keys(actual).length > 0) || actual.length > 0) {
|
|
104
|
-
assert.fail(actual, 0, message || "expected {actual} to be empty", "length", assert.isEmpty);
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
assert.isNotEmpty = function (actual, message) {
|
|
108
|
-
if ((isObject(actual) && Object.keys(actual).length === 0) || actual.length === 0) {
|
|
109
|
-
assert.fail(actual, 0, message || "expected {actual} to be not empty", "length", assert.isNotEmpty);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
assert.length = function (actual, expected, message) {
|
|
114
|
-
if (actual.length !== expected) {
|
|
115
|
-
assert.fail(actual, expected, message || "expected {actual} to have {expected} element(s)", "length", assert.length);
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
//
|
|
120
|
-
// Type
|
|
121
|
-
//
|
|
122
|
-
assert.isArray = function (actual, message) {
|
|
123
|
-
assertTypeOf(actual, 'array', message || "expected {actual} to be an Array", assert.isArray);
|
|
124
|
-
};
|
|
125
|
-
assert.isObject = function (actual, message) {
|
|
126
|
-
assertTypeOf(actual, 'object', message || "expected {actual} to be an Object", assert.isObject);
|
|
127
|
-
};
|
|
128
|
-
assert.isNumber = function (actual, message) {
|
|
129
|
-
if (isNaN(actual)) {
|
|
130
|
-
assert.fail(actual, 'number', message || "expected {actual} to be of type {expected}", "isNaN", assert.isNumber);
|
|
131
|
-
} else {
|
|
132
|
-
assertTypeOf(actual, 'number', message || "expected {actual} to be a Number", assert.isNumber);
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
assert.isBoolean = function (actual, message) {
|
|
136
|
-
if (actual !== true && actual !== false) {
|
|
137
|
-
assert.fail(actual, 'boolean', message || "expected {actual} to be a Boolean", "===", assert.isBoolean);
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
assert.isNaN = function (actual, message) {
|
|
141
|
-
if (actual === actual) {
|
|
142
|
-
assert.fail(actual, 'NaN', message || "expected {actual} to be NaN", "===", assert.isNaN);
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
assert.isNull = function (actual, message) {
|
|
146
|
-
if (actual !== null) {
|
|
147
|
-
assert.fail(actual, null, message || "expected {expected}, got {actual}", "===", assert.isNull);
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
assert.isNotNull = function (actual, message) {
|
|
151
|
-
if (actual === null) {
|
|
152
|
-
assert.fail(actual, null, message || "expected non-null value, got {actual}", "===", assert.isNotNull);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
assert.isUndefined = function (actual, message) {
|
|
156
|
-
if (actual !== undefined) {
|
|
157
|
-
assert.fail(actual, undefined, message || "expected {actual} to be {expected}", "===", assert.isUndefined);
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
assert.isDefined = function (actual, message) {
|
|
161
|
-
if(actual === undefined) {
|
|
162
|
-
assert.fail(actual, 0, message || "expected {actual} to be defined", "===", assert.isDefined);
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
assert.isString = function (actual, message) {
|
|
166
|
-
assertTypeOf(actual, 'string', message || "expected {actual} to be a String", assert.isString);
|
|
167
|
-
};
|
|
168
|
-
assert.isFunction = function (actual, message) {
|
|
169
|
-
assertTypeOf(actual, 'function', message || "expected {actual} to be a Function", assert.isFunction);
|
|
170
|
-
};
|
|
171
|
-
assert.typeOf = function (actual, expected, message) {
|
|
172
|
-
assertTypeOf(actual, expected, message, assert.typeOf);
|
|
173
|
-
};
|
|
174
|
-
assert.instanceOf = function (actual, expected, message) {
|
|
175
|
-
if (! (actual instanceof expected)) {
|
|
176
|
-
assert.fail(actual, expected, message || "expected {actual} to be an instance of {expected}", "instanceof", assert.instanceOf);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
//
|
|
181
|
-
// Utility functions
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
function assertTypeOf(actual, expected, message, caller) {
|
|
185
|
-
if (typeOf(actual) !== expected) {
|
|
186
|
-
assert.fail(actual, expected, message || "expected {actual} to be of type {expected}", "typeOf", caller);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
function isArray (obj) {
|
|
191
|
-
return Array.isArray(obj);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
function isString (obj) {
|
|
195
|
-
return typeof(obj) === 'string' || obj instanceof String;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
function isObject (obj) {
|
|
199
|
-
return typeof(obj) === 'object' && obj && !isArray(obj);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// A better `typeof`
|
|
203
|
-
function typeOf(value) {
|
|
204
|
-
var s = typeof(value),
|
|
205
|
-
types = [Object, Array, String, RegExp, Number, Function, Boolean, Date];
|
|
206
|
-
|
|
207
|
-
if (s === 'object' || s === 'function') {
|
|
208
|
-
if (value) {
|
|
209
|
-
types.forEach(function (t) {
|
|
210
|
-
if (value instanceof t) { s = t.name.toLowerCase() }
|
|
211
|
-
});
|
|
212
|
-
} else { s = 'null' }
|
|
213
|
-
}
|
|
214
|
-
return s;
|
|
215
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// Taken from node/lib/assert.js
|
|
3
|
-
exports.deepEqual = function (actual, expected) {
|
|
4
|
-
if (actual === expected) {
|
|
5
|
-
return true;
|
|
6
|
-
|
|
7
|
-
} else if (Buffer.isBuffer(actual) && Buffer.isBuffer(expected)) {
|
|
8
|
-
if (actual.length != expected.length) return false;
|
|
9
|
-
|
|
10
|
-
for (var i = 0; i < actual.length; i++) {
|
|
11
|
-
if (actual[i] !== expected[i]) return false;
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
|
|
15
|
-
} else if (actual instanceof Date && expected instanceof Date) {
|
|
16
|
-
return actual.getTime() === expected.getTime();
|
|
17
|
-
|
|
18
|
-
} else if (typeof actual != 'object' && typeof expected != 'object') {
|
|
19
|
-
return actual == expected;
|
|
20
|
-
|
|
21
|
-
} else {
|
|
22
|
-
return objEquiv(actual, expected);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Taken from node/lib/assert.js
|
|
27
|
-
exports.notDeepEqual = function (actual, expected, message) {
|
|
28
|
-
if (exports.deepEqual(actual, expected)) {
|
|
29
|
-
fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Taken from node/lib/assert.js
|
|
34
|
-
function isUndefinedOrNull(value) {
|
|
35
|
-
return value === null || value === undefined;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Taken from node/lib/assert.js
|
|
39
|
-
function isArguments(object) {
|
|
40
|
-
return Object.prototype.toString.call(object) == '[object Arguments]';
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Taken from node/lib/assert.js
|
|
44
|
-
function objEquiv(a, b) {
|
|
45
|
-
if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
|
|
46
|
-
return false;
|
|
47
|
-
if (a.prototype !== b.prototype) return false;
|
|
48
|
-
if (isArguments(a)) {
|
|
49
|
-
if (!isArguments(b)) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
a = pSlice.call(a);
|
|
53
|
-
b = pSlice.call(b);
|
|
54
|
-
return exports.deepEqual(a, b);
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
var ka = Object.keys(a),
|
|
58
|
-
kb = Object.keys(b),
|
|
59
|
-
key, i;
|
|
60
|
-
} catch (e) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
if (ka.length != kb.length)
|
|
64
|
-
return false;
|
|
65
|
-
ka.sort();
|
|
66
|
-
kb.sort();
|
|
67
|
-
for (i = ka.length - 1; i >= 0; i--) {
|
|
68
|
-
if (ka[i] != kb[i])
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
for (i = ka.length - 1; i >= 0; i--) {
|
|
72
|
-
key = ka[i];
|
|
73
|
-
if (!exports.deepEqual(a[key], b[key])) return false;
|
|
74
|
-
}
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
var eyes = require('eyes').inspector({ stream: null, styles: false });
|
|
2
|
-
|
|
3
|
-
// Stylize a string
|
|
4
|
-
this.stylize = function stylize(str, style) {
|
|
5
|
-
var styles = {
|
|
6
|
-
'bold' : [1, 22],
|
|
7
|
-
'italic' : [3, 23],
|
|
8
|
-
'underline' : [4, 24],
|
|
9
|
-
'cyan' : [96, 39],
|
|
10
|
-
'yellow' : [33, 39],
|
|
11
|
-
'green' : [32, 39],
|
|
12
|
-
'red' : [31, 39],
|
|
13
|
-
'grey' : [90, 39],
|
|
14
|
-
'green-hi' : [92, 32],
|
|
15
|
-
};
|
|
16
|
-
return '\033[' + styles[style][0] + 'm' + str +
|
|
17
|
-
'\033[' + styles[style][1] + 'm';
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
var $ = this.$ = function (str) {
|
|
21
|
-
str = new(String)(str);
|
|
22
|
-
|
|
23
|
-
['bold', 'grey', 'yellow', 'red', 'green', 'white', 'cyan', 'italic'].forEach(function (style) {
|
|
24
|
-
Object.defineProperty(str, style, {
|
|
25
|
-
get: function () {
|
|
26
|
-
return exports.$(exports.stylize(this, style));
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
return str;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
this.puts = function (options) {
|
|
34
|
-
var stylize = exports.stylize;
|
|
35
|
-
options.stream || (options.stream = process.stdout);
|
|
36
|
-
options.tail = options.tail || '';
|
|
37
|
-
|
|
38
|
-
return function (args) {
|
|
39
|
-
args = Array.prototype.slice.call(arguments);
|
|
40
|
-
if (!options.raw) {
|
|
41
|
-
args = args.map(function (a) {
|
|
42
|
-
return a.replace(/`([^`]+)`/g, function (_, capture) { return stylize(capture, 'italic') })
|
|
43
|
-
.replace(/\*([^*]+)\*/g, function (_, capture) { return stylize(capture, 'bold') });
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return options.stream.write(args.join('\n') + options.tail);
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
this.result = function (event) {
|
|
51
|
-
var result = [], buffer = [], time = '', header;
|
|
52
|
-
var complete = event.honored + event.pending + event.errored + event.broken;
|
|
53
|
-
var status = (event.errored && 'errored') || (event.broken && 'broken') ||
|
|
54
|
-
(event.honored && 'honored') || (event.pending && 'pending');
|
|
55
|
-
|
|
56
|
-
if (event.total === 0) {
|
|
57
|
-
return [$("Could not find any tests to run.").bold.red];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
event.honored && result.push($(event.honored).bold + " honored");
|
|
61
|
-
event.broken && result.push($(event.broken).bold + " broken");
|
|
62
|
-
event.errored && result.push($(event.errored).bold + " errored");
|
|
63
|
-
event.pending && result.push($(event.pending).bold + " pending");
|
|
64
|
-
|
|
65
|
-
if (complete < event.total) {
|
|
66
|
-
result.push($(event.total - complete).bold + " dropped");
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
result = result.join(' ∙ ');
|
|
70
|
-
|
|
71
|
-
header = {
|
|
72
|
-
honored: '✓ ' + $('OK').bold.green,
|
|
73
|
-
broken: '✗ ' + $('Broken').bold.yellow,
|
|
74
|
-
errored: '✗ ' + $('Errored').bold.red,
|
|
75
|
-
pending: '- ' + $('Pending').bold.cyan
|
|
76
|
-
}[status] + ' » ';
|
|
77
|
-
|
|
78
|
-
if (typeof(event.time) === 'number') {
|
|
79
|
-
time = ' (' + event.time.toFixed(3) + 's)';
|
|
80
|
-
time = this.stylize(time, 'grey');
|
|
81
|
-
}
|
|
82
|
-
buffer.push(header + result + time + '\n');
|
|
83
|
-
|
|
84
|
-
return buffer;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
this.inspect = function inspect(val) {
|
|
88
|
-
return '\033[1m' + eyes(val) + '\033[22m';
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
this.error = function (obj) {
|
|
92
|
-
var string = '✗ ' + $('Errored ').red + '» ';
|
|
93
|
-
string += $(obj.error).red.bold + '\n';
|
|
94
|
-
string += (obj.context ? ' in ' + $(obj.context).red + '\n': '');
|
|
95
|
-
string += ' in ' + $(obj.suite.subject).red + '\n';
|
|
96
|
-
string += ' in ' + $(obj.suite._filename).red;
|
|
97
|
-
|
|
98
|
-
return string;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
this.contextText = function (event) {
|
|
102
|
-
return ' ' + event;
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
this.vowText = function (event) {
|
|
106
|
-
var buffer = [];
|
|
107
|
-
|
|
108
|
-
buffer.push(' ' + {
|
|
109
|
-
honored: ' ✓ ',
|
|
110
|
-
broken: ' ✗ ',
|
|
111
|
-
errored: ' ✗ ',
|
|
112
|
-
pending: ' - '
|
|
113
|
-
}[event.status] + this.stylize(event.title, ({
|
|
114
|
-
honored: 'green',
|
|
115
|
-
broken: 'yellow',
|
|
116
|
-
errored: 'red',
|
|
117
|
-
pending: 'cyan'
|
|
118
|
-
})[event.status]));
|
|
119
|
-
|
|
120
|
-
if (event.status === 'broken') {
|
|
121
|
-
buffer.push(' » ' + event.exception);
|
|
122
|
-
} else if (event.status === 'errored') {
|
|
123
|
-
if (event.exception.type === 'promise') {
|
|
124
|
-
buffer.push(' » ' + this.stylize("An unexpected error was caught: " +
|
|
125
|
-
this.stylize(event.exception.error, 'bold'), 'red'));
|
|
126
|
-
} else {
|
|
127
|
-
buffer.push(' ' + this.stylize(event.exception, 'red'));
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return buffer.join('\n');
|
|
131
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
this.Context = function (vow, ctx, env) {
|
|
3
|
-
var that = this;
|
|
4
|
-
|
|
5
|
-
this.tests = vow.callback;
|
|
6
|
-
this.topics = (ctx.topics || []).slice(0);
|
|
7
|
-
this.emitter = null;
|
|
8
|
-
this.env = env || {};
|
|
9
|
-
this.env.context = this;
|
|
10
|
-
|
|
11
|
-
this.env.callback = function (/* arguments */) {
|
|
12
|
-
var ctx = this;
|
|
13
|
-
var args = Array.prototype.slice.call(arguments);
|
|
14
|
-
|
|
15
|
-
var emit = (function (args) {
|
|
16
|
-
//
|
|
17
|
-
// Convert callback-style results into events.
|
|
18
|
-
//
|
|
19
|
-
if (vow.batch.suite.options.error) {
|
|
20
|
-
return function () {
|
|
21
|
-
var e = args.shift();
|
|
22
|
-
that.emitter.ctx = ctx;
|
|
23
|
-
// We handle a special case, where the first argument is a
|
|
24
|
-
// boolean, in which case we treat it as a result, and not
|
|
25
|
-
// an error. This is useful for `path.exists` and other
|
|
26
|
-
// functions like it, which only pass a single boolean
|
|
27
|
-
// parameter instead of the more common (error, result) pair.
|
|
28
|
-
if (typeof(e) === 'boolean' && args.length === 0) {
|
|
29
|
-
that.emitter.emit.call(that.emitter, 'success', e);
|
|
30
|
-
} else {
|
|
31
|
-
if (e) { that.emitter.emit.apply(that.emitter, ['error', e].concat(args)) }
|
|
32
|
-
else { that.emitter.emit.apply(that.emitter, ['success'].concat(args)) }
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
} else {
|
|
36
|
-
return function () {
|
|
37
|
-
that.emitter.ctx = ctx;
|
|
38
|
-
that.emitter.emit.apply(that.emitter, ['success'].concat(args));
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
})(args.slice(0));
|
|
42
|
-
// If `this.callback` is called synchronously,
|
|
43
|
-
// the emitter will not have been set yet,
|
|
44
|
-
// so we defer the emition, that way it'll behave
|
|
45
|
-
// asynchronously.
|
|
46
|
-
if (that.emitter) { emit() }
|
|
47
|
-
else { process.nextTick(emit) }
|
|
48
|
-
};
|
|
49
|
-
this.name = vow.description;
|
|
50
|
-
this.title = [
|
|
51
|
-
ctx.title || '',
|
|
52
|
-
vow.description || ''
|
|
53
|
-
].join(/^[#.:]/.test(vow.description) ? '' : ' ').trim();
|
|
54
|
-
};
|
|
55
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
exports.coverage = function (filename, data) {
|
|
3
|
-
var ret = {
|
|
4
|
-
filename: filename,
|
|
5
|
-
coverage: 0,
|
|
6
|
-
hits: 0,
|
|
7
|
-
misses: 0,
|
|
8
|
-
sloc : 0
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
var source = data.source;
|
|
12
|
-
ret.source = source.map(function (line, num) {
|
|
13
|
-
num++;
|
|
14
|
-
|
|
15
|
-
if (data[num] === 0) {
|
|
16
|
-
ret.misses++;
|
|
17
|
-
ret.sloc++;
|
|
18
|
-
} else if (data[num] !== undefined) {
|
|
19
|
-
ret.hits++;
|
|
20
|
-
ret.sloc++;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return { line: line, coverage: (data[num] === undefined ? '' : data[num]) };
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
ret.coverage = (ret.hits / ret.sloc) * 100;
|
|
27
|
-
|
|
28
|
-
return ret;
|
|
29
|
-
};
|
data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-head.html
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<style type="text/css">
|
|
5
|
-
.covered {
|
|
6
|
-
background-color: green;
|
|
7
|
-
}
|
|
8
|
-
.uncovered {
|
|
9
|
-
background-color: red;
|
|
10
|
-
}
|
|
11
|
-
.coverage {
|
|
12
|
-
font-size: 0.8em;
|
|
13
|
-
color: #333;
|
|
14
|
-
}
|
|
15
|
-
.coverage.fullCoverage {
|
|
16
|
-
background-color:#0f0;
|
|
17
|
-
color: #111;
|
|
18
|
-
}
|
|
19
|
-
.coverage.okCoverage {
|
|
20
|
-
background-color: orange;
|
|
21
|
-
}
|
|
22
|
-
.coverage.poorCoverage {
|
|
23
|
-
background-color: red;
|
|
24
|
-
}
|
|
25
|
-
.code {
|
|
26
|
-
font-family: "Consolas", "Courier New", Courier, mono;
|
|
27
|
-
white-space: pre;
|
|
28
|
-
line-height: 16px;
|
|
29
|
-
}
|
|
30
|
-
.collapsed {
|
|
31
|
-
display: none;
|
|
32
|
-
}
|
|
33
|
-
body {
|
|
34
|
-
margin-left: 20px;
|
|
35
|
-
margin-top: 8px;
|
|
36
|
-
background-color: white;
|
|
37
|
-
color: black;
|
|
38
|
-
font-size: 16px;
|
|
39
|
-
}
|
|
40
|
-
ol {
|
|
41
|
-
margin-left: 20px;
|
|
42
|
-
margin-bottom: 40px;
|
|
43
|
-
width: 800px;
|
|
44
|
-
line-height: 18px;
|
|
45
|
-
-moz-box-shadow: 10px 10px 5px #888;
|
|
46
|
-
-webkit-box-shadow: 10px 10px 5px #888;
|
|
47
|
-
box-shadow: 10px 10px 5px #888;
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
50
|
-
<script type="text/javascript">
|
|
51
|
-
function expando(elem) {
|
|
52
|
-
// We're skipping the '/n' text element sibling.
|
|
53
|
-
var olElement= elem.nextSibling.nextSibling;
|
|
54
|
-
var currentState= olElement.className;
|
|
55
|
-
if( currentState == "collapsed" ) currentState= "";
|
|
56
|
-
else currentState= "collapsed";
|
|
57
|
-
olElement.className= currentState;
|
|
58
|
-
}
|
|
59
|
-
</script>
|
|
60
|
-
</head>
|
|
61
|
-
<body>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var sys = require('sys'),
|
|
2
|
-
fs = require('fs'),
|
|
3
|
-
file = require('./file');
|
|
4
|
-
|
|
5
|
-
this.name = 'coverage-report-html';
|
|
6
|
-
|
|
7
|
-
function getCoverageClass( data ) {
|
|
8
|
-
var fullCoverage= (data.coverage == 100);
|
|
9
|
-
var okCoverage= (!fullCoverage && data.coverage >=60);
|
|
10
|
-
var coverageClass= '';
|
|
11
|
-
if( fullCoverage ) coverageClass= 'fullCoverage';
|
|
12
|
-
else if( okCoverage) coverageClass= 'okCoverage';
|
|
13
|
-
else coverageClass= 'poorCoverage';
|
|
14
|
-
return coverageClass;
|
|
15
|
-
}
|
|
16
|
-
this.report = function (coverageMap) {
|
|
17
|
-
var out, head, foot;
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
out = fs.openSync("coverage.html", "w");
|
|
21
|
-
head = fs.readFileSync(__dirname + "/fragments/coverage-head.html", "utf8");
|
|
22
|
-
foot = fs.readFileSync(__dirname + "/fragments/coverage-foot.html", "utf8");
|
|
23
|
-
} catch (error) {
|
|
24
|
-
sys.print("Error: Unable to write to file coverage.html\n");
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
fs.writeSync(out, head);
|
|
29
|
-
|
|
30
|
-
for (var filename in coverageMap) {
|
|
31
|
-
if (coverageMap.hasOwnProperty(filename)) {
|
|
32
|
-
var data = file.coverage(filename, coverageMap[filename]);
|
|
33
|
-
var coverageClass= getCoverageClass( data );
|
|
34
|
-
fs.writeSync(out, "<h2>" + filename + "</h2>\n");
|
|
35
|
-
fs.writeSync(out, '<span class="coverage '+ coverageClass+'">' + "[ hits: " + data.hits);
|
|
36
|
-
fs.writeSync(out, ", misses: " + data.misses + ", sloc: " + data.sloc);
|
|
37
|
-
fs.writeSync(out, ", coverage: " + data.coverage.toFixed(2) + "% ]" + "</span> <a href='#' onclick='expando(this)'>[+]</a>\n");
|
|
38
|
-
fs.writeSync(out, "<ol class='collapsed'>\n");
|
|
39
|
-
|
|
40
|
-
for (var i = 0; i < data.source.length; i++) {
|
|
41
|
-
fs.writeSync(out, ' <li class="code ');
|
|
42
|
-
fs.writeSync(out, (data.source[i].coverage === 0 ? 'uncovered' : 'covered'));
|
|
43
|
-
fs.writeSync(out, '" coverage="' + data.source[i].coverage + '">');
|
|
44
|
-
fs.writeSync(out, data.source[i].line + "</li>\n");
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
fs.writeSync(out, "</ol>\n");
|
|
48
|
-
fs.writeSync(out, "<hr/>\n");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
fs.writeSync(out, foot);
|
|
53
|
-
fs.close(out);
|
|
54
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var sys = require('sys'),
|
|
2
|
-
fs = require('fs'),
|
|
3
|
-
file = require('./file');
|
|
4
|
-
|
|
5
|
-
this.name = 'coverage-report-json';
|
|
6
|
-
|
|
7
|
-
this.report = function (coverageMap) {
|
|
8
|
-
var output = {
|
|
9
|
-
meta: {
|
|
10
|
-
"generator": "vowsjs",
|
|
11
|
-
"generated": new Date().toString(),
|
|
12
|
-
"instrumentation": "node-jscoverage",
|
|
13
|
-
"file-version": "1.0"
|
|
14
|
-
},
|
|
15
|
-
files: [ ],
|
|
16
|
-
coverage: [ ]
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (var filename in coverageMap) {
|
|
21
|
-
if (coverageMap.hasOwnProperty(filename)) {
|
|
22
|
-
var data = file.coverage(filename, coverageMap[filename]);
|
|
23
|
-
|
|
24
|
-
var coverage = {
|
|
25
|
-
file: filename,
|
|
26
|
-
coverage: data.coverage.toFixed(2),
|
|
27
|
-
hits: data.hits,
|
|
28
|
-
misses: data.misses,
|
|
29
|
-
sloc: data.sloc,
|
|
30
|
-
source: { }
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
for (var i = 0; i < data.source.length; i++) {
|
|
34
|
-
coverage.source[i + 1] = {
|
|
35
|
-
line: data.source[i].line,
|
|
36
|
-
coverage: data.source[i].coverage
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
output.coverage.push(coverage);
|
|
41
|
-
|
|
42
|
-
output.files.push(filename);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
out = fs.openSync("coverage.json", "w");
|
|
48
|
-
fs.writeSync(out, JSON.stringify(output));
|
|
49
|
-
fs.close(out);
|
|
50
|
-
} catch (error) {
|
|
51
|
-
sys.print("Error: Unable to write to file coverage.json\n");
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
};
|