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.
Files changed (211) hide show
  1. data/bin/vulcan +3 -1
  2. data/lib/vulcan/cli.rb +22 -3
  3. data/lib/vulcan/version.rb +1 -1
  4. data/server/bin/make +1 -3
  5. data/server/lib/spawner.js +9 -4
  6. data/server/node_modules/connect-form/node_modules/formidable/Readme.md +13 -2
  7. data/server/node_modules/connect-form/node_modules/formidable/lib/incoming_form.js +19 -7
  8. data/server/node_modules/connect-form/node_modules/formidable/lib/multipart_parser.js +12 -1
  9. data/server/node_modules/connect-form/node_modules/formidable/package.json +1 -1
  10. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/file/plain.txt +1 -0
  11. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/no-filename/generic.http +13 -0
  12. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -10
  13. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -9
  14. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/js/no-filename.js +3 -0
  15. data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +1 -1
  16. data/server/node_modules/cradle/lib/cradle.js +0 -1
  17. data/server/node_modules/cradle/package.json +3 -3
  18. data/server/node_modules/cradle/test/cache-test.js +6 -7
  19. data/server/node_modules/cradle/test/cradle-test.js +4 -5
  20. data/server/node_modules/cradle/test/response-test.js +5 -6
  21. data/server/node_modules/express/History.md +53 -1
  22. data/server/node_modules/express/Makefile +3 -9
  23. data/server/node_modules/express/Readme.md +3 -1
  24. data/server/node_modules/express/bin/express +65 -66
  25. data/server/node_modules/express/lib/express.js +1 -1
  26. data/server/node_modules/express/lib/request.js +23 -9
  27. data/server/node_modules/express/lib/response.js +3 -2
  28. data/server/node_modules/express/lib/utils.js +13 -0
  29. data/server/node_modules/express/lib/view/view.js +2 -1
  30. data/server/node_modules/express/lib/view.js +19 -16
  31. data/server/node_modules/express/node_modules/connect/lib/connect.js +1 -1
  32. data/server/node_modules/express/node_modules/connect/lib/http.js +2 -0
  33. data/server/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js +135 -31
  34. data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +5 -1
  35. data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +2 -2
  36. data/server/node_modules/express/node_modules/connect/lib/middleware/static.js +26 -21
  37. data/server/node_modules/express/node_modules/connect/lib/middleware/staticCache.js +91 -38
  38. data/server/node_modules/express/node_modules/connect/lib/middleware/vhost.js +1 -1
  39. data/server/node_modules/express/node_modules/connect/lib/utils.js +11 -4
  40. data/server/node_modules/express/node_modules/connect/node_modules/formidable/Makefile +14 -0
  41. data/server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md +286 -0
  42. data/server/node_modules/express/node_modules/connect/node_modules/formidable/TODO +3 -0
  43. data/server/node_modules/express/node_modules/connect/node_modules/formidable/benchmark/bench-multipart-parser.js +70 -0
  44. data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/post.js +43 -0
  45. data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/upload.js +48 -0
  46. data/server/node_modules/express/node_modules/connect/node_modules/formidable/index.js +1 -0
  47. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/file.js +61 -0
  48. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js +377 -0
  49. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js +3 -0
  50. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js +312 -0
  51. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js +25 -0
  52. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js +6 -0
  53. data/server/node_modules/express/node_modules/connect/node_modules/formidable/package.json +22 -0
  54. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/common.js +19 -0
  55. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt +1 -0
  56. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt +1 -0
  57. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http +13 -0
  58. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md +3 -0
  59. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +26 -0
  60. 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
  61. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +23 -0
  62. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +24 -0
  63. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +22 -0
  64. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +22 -0
  65. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +22 -0
  66. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js +3 -0
  67. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +21 -0
  68. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multi_video.upload +0 -0
  69. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multipart.js +72 -0
  70. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/integration/test-fixtures.js +89 -0
  71. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js +24 -0
  72. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/integration/test-multipart-parser.js +80 -0
  73. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-file.js +104 -0
  74. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js +715 -0
  75. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +50 -0
  76. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-querystring-parser.js +45 -0
  77. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/test-multi-video-upload.js +72 -0
  78. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/run.js +2 -0
  79. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/unit/test-incoming-form.js +63 -0
  80. data/server/node_modules/express/node_modules/connect/node_modules/formidable/tool/record.js +47 -0
  81. data/server/node_modules/express/node_modules/connect/package.json +7 -6
  82. data/server/node_modules/express/node_modules/connect/test.js +44 -31
  83. data/server/node_modules/express/node_modules/mime/mime.js +3 -3
  84. data/server/node_modules/express/node_modules/mime/package.json +21 -10
  85. data/server/node_modules/express/node_modules/mime/test.js +2 -3
  86. data/server/node_modules/express/node_modules/mime/{mime.types → types/mime.types} +0 -0
  87. data/server/node_modules/express/node_modules/mime/{node.types → types/node.types} +17 -0
  88. data/server/node_modules/express/node_modules/mkdirp/LICENSE +21 -0
  89. data/server/node_modules/express/node_modules/mkdirp/README.markdown +21 -0
  90. data/server/node_modules/express/node_modules/mkdirp/examples/pow.js +6 -0
  91. data/server/node_modules/express/node_modules/mkdirp/examples/pow.js.orig +6 -0
  92. data/server/node_modules/express/node_modules/mkdirp/examples/pow.js.rej +19 -0
  93. data/server/node_modules/express/node_modules/mkdirp/index.js +20 -0
  94. data/server/node_modules/express/node_modules/mkdirp/package.json +23 -0
  95. data/server/node_modules/express/node_modules/mkdirp/test/mkdirp.js +28 -0
  96. data/server/node_modules/express/node_modules/mkdirp/test/race.js +41 -0
  97. data/server/node_modules/express/node_modules/mkdirp/test/rel.js +32 -0
  98. data/server/node_modules/express/node_modules/qs/History.md +11 -0
  99. data/server/node_modules/express/node_modules/qs/Makefile +1 -3
  100. data/server/node_modules/express/node_modules/qs/Readme.md +2 -4
  101. data/server/node_modules/express/node_modules/qs/lib/querystring.js +100 -74
  102. data/server/node_modules/express/node_modules/qs/package.json +9 -2
  103. data/server/node_modules/express/node_modules/qs/test/mocha.opts +2 -0
  104. data/server/node_modules/express/node_modules/qs/test/{parse.test.js → parse.js} +1 -2
  105. data/server/node_modules/express/node_modules/qs/test/{stringify.test.js → stringify.js} +0 -0
  106. data/server/node_modules/express/package.json +9 -8
  107. data/server/node_modules/express/testing/foo/app.js +35 -0
  108. data/server/node_modules/express/testing/foo/package.json +9 -0
  109. data/server/node_modules/express/testing/foo/public/stylesheets/style.css +8 -0
  110. data/server/node_modules/express/testing/foo/routes/index.js +10 -0
  111. data/server/node_modules/express/testing/foo/views/index.jade +2 -0
  112. data/server/node_modules/express/testing/foo/views/layout.jade +6 -0
  113. data/server/node_modules/express/testing/index.js +43 -0
  114. data/server/node_modules/express/testing/public/test.txt +2971 -0
  115. data/server/node_modules/express/testing/views/page.html +1 -0
  116. data/server/node_modules/express/testing/views/page.jade +3 -0
  117. data/server/node_modules/express/testing/views/test.md +1 -0
  118. data/server/node_modules/express/testing/views/user/index.jade +1 -0
  119. data/server/node_modules/express/testing/views/user/list.jade +1 -0
  120. data/server/node_modules/node-uuid/README.md +166 -67
  121. data/server/node_modules/node-uuid/benchmark/README.md +53 -0
  122. data/server/node_modules/node-uuid/benchmark/bench.gnu +174 -0
  123. data/server/node_modules/node-uuid/benchmark/bench.sh +34 -0
  124. data/server/node_modules/node-uuid/{test → benchmark}/benchmark-native.c +0 -0
  125. data/server/node_modules/node-uuid/benchmark/benchmark.js +84 -0
  126. data/server/node_modules/node-uuid/package.json +5 -3
  127. data/server/node_modules/node-uuid/test/benchmark-native +0 -0
  128. data/server/node_modules/node-uuid/test/compare_v1.js +63 -0
  129. data/server/node_modules/node-uuid/test/test.html +3 -0
  130. data/server/node_modules/node-uuid/test/test.js +214 -57
  131. data/server/node_modules/node-uuid/uuid.js +225 -56
  132. data/server/node_modules/restler/README.md +20 -7
  133. data/server/node_modules/restler/bin/restler +1 -1
  134. data/server/node_modules/restler/lib/multipartform.js +9 -8
  135. data/server/node_modules/restler/lib/restler.js +64 -22
  136. data/server/node_modules/restler/package.json +2 -2
  137. data/server/node_modules/restler/test/restler.js +22 -2
  138. data/server/node_modules/restler/test/test_helper.js +20 -1
  139. data/server/package.json +1 -2
  140. data/server/web.js +30 -7
  141. metadata +90 -86
  142. data/server/node_modules/cradle/node_modules/vows/LICENSE +0 -20
  143. data/server/node_modules/cradle/node_modules/vows/Makefile +0 -7
  144. data/server/node_modules/cradle/node_modules/vows/README.md +0 -39
  145. data/server/node_modules/cradle/node_modules/vows/bin/vows +0 -515
  146. data/server/node_modules/cradle/node_modules/vows/lib/assert/error.js +0 -27
  147. data/server/node_modules/cradle/node_modules/vows/lib/assert/macros.js +0 -215
  148. data/server/node_modules/cradle/node_modules/vows/lib/assert/utils.js +0 -77
  149. data/server/node_modules/cradle/node_modules/vows/lib/vows/console.js +0 -131
  150. data/server/node_modules/cradle/node_modules/vows/lib/vows/context.js +0 -55
  151. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/file.js +0 -29
  152. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-foot.html +0 -2
  153. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-head.html +0 -61
  154. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-html.js +0 -54
  155. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-json.js +0 -54
  156. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-plain.js +0 -38
  157. data/server/node_modules/cradle/node_modules/vows/lib/vows/extras.js +0 -28
  158. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/dot-matrix.js +0 -67
  159. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/json.js +0 -16
  160. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/silent.js +0 -8
  161. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/spec.js +0 -44
  162. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/watch.js +0 -39
  163. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/xunit.js +0 -90
  164. data/server/node_modules/cradle/node_modules/vows/lib/vows/suite.js +0 -319
  165. data/server/node_modules/cradle/node_modules/vows/lib/vows.js +0 -193
  166. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/LICENSE +0 -20
  167. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/Makefile +0 -4
  168. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/README.md +0 -72
  169. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/lib/eyes.js +0 -233
  170. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/package.json +0 -14
  171. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/test/eyes-test.js +0 -55
  172. data/server/node_modules/cradle/node_modules/vows/package.json +0 -14
  173. data/server/node_modules/cradle/node_modules/vows/test/assert-test.js +0 -135
  174. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/failing.js +0 -18
  175. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/log.js +0 -18
  176. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/passing.js +0 -17
  177. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/stderr.js +0 -18
  178. data/server/node_modules/cradle/node_modules/vows/test/isolate-test.js +0 -140
  179. data/server/node_modules/cradle/node_modules/vows/test/testInherit.js +0 -133
  180. data/server/node_modules/cradle/node_modules/vows/test/vows-error-test.js +0 -51
  181. data/server/node_modules/cradle/node_modules/vows/test/vows-test.js +0 -374
  182. data/server/node_modules/express/node_modules/mime/index.js +0 -1
  183. data/server/node_modules/express/node_modules/qs/support/expresso/History.md +0 -128
  184. data/server/node_modules/express/node_modules/qs/support/expresso/Makefile +0 -53
  185. data/server/node_modules/express/node_modules/qs/support/expresso/Readme.md +0 -61
  186. data/server/node_modules/express/node_modules/qs/support/expresso/bin/expresso +0 -856
  187. data/server/node_modules/express/node_modules/qs/support/expresso/docs/api.html +0 -1080
  188. data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.html +0 -377
  189. data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.md +0 -290
  190. data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/foot.html +0 -3
  191. data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/head.html +0 -42
  192. data/server/node_modules/express/node_modules/qs/support/expresso/lib/bar.js +0 -4
  193. data/server/node_modules/express/node_modules/qs/support/expresso/lib/foo.js +0 -16
  194. data/server/node_modules/express/node_modules/qs/support/expresso/package.json +0 -12
  195. data/server/node_modules/express/node_modules/qs/support/expresso/test/assert.test.js +0 -91
  196. data/server/node_modules/express/node_modules/qs/support/expresso/test/async.test.js +0 -12
  197. data/server/node_modules/express/node_modules/qs/support/expresso/test/bar.test.js +0 -13
  198. data/server/node_modules/express/node_modules/qs/support/expresso/test/foo.test.js +0 -14
  199. data/server/node_modules/express/node_modules/qs/support/expresso/test/http.test.js +0 -146
  200. data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/async.test.js +0 -39
  201. data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/http.test.js +0 -48
  202. data/server/node_modules/express/node_modules/qs/support/should/History.md +0 -22
  203. data/server/node_modules/express/node_modules/qs/support/should/Makefile +0 -6
  204. data/server/node_modules/express/node_modules/qs/support/should/Readme.md +0 -248
  205. data/server/node_modules/express/node_modules/qs/support/should/examples/runner.js +0 -53
  206. data/server/node_modules/express/node_modules/qs/support/should/index.js +0 -2
  207. data/server/node_modules/express/node_modules/qs/support/should/lib/eql.js +0 -91
  208. data/server/node_modules/express/node_modules/qs/support/should/lib/should.js +0 -548
  209. data/server/node_modules/express/node_modules/qs/support/should/package.json +0 -8
  210. data/server/node_modules/express/node_modules/qs/support/should/test/should.test.js +0 -358
  211. 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
- };
@@ -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
- };