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,193 +0,0 @@
1
- //
2
- // Vows.js - asynchronous event-based BDD for node.js
3
- //
4
- // usage:
5
- //
6
- // var vows = require('vows');
7
- //
8
- // vows.describe('Deep Thought').addBatch({
9
- // "An instance of DeepThought": {
10
- // topic: new DeepThought,
11
- //
12
- // "should know the answer to the ultimate question of life": function (deepThought) {
13
- // assert.equal (deepThought.question('what is the answer to the universe?'), 42);
14
- // }
15
- // }
16
- // }).run();
17
- //
18
- var sys = require('sys'),
19
- path = require('path'),
20
- events = require('events'),
21
- vows = exports;
22
-
23
- // Options
24
- vows.options = {
25
- Emitter: events.EventEmitter,
26
- reporter: require('./vows/reporters/dot-matrix'),
27
- matcher: /.*/,
28
- error: true // Handle "error" event
29
- };
30
-
31
- vows.__defineGetter__('reporter', function () {
32
- return vows.options.reporter;
33
- });
34
-
35
- var stylize = require('./vows/console').stylize;
36
- var console = require('./vows/console');
37
-
38
- vows.inspect = require('./vows/console').inspect;
39
- vows.prepare = require('./vows/extras').prepare;
40
- vows.tryEnd = require('./vows/suite').tryEnd;
41
-
42
- //
43
- // Assertion Macros & Extensions
44
- //
45
- require('./assert/error');
46
- require('./assert/macros');
47
-
48
- //
49
- // Suite constructor
50
- //
51
- var Suite = require('./vows/suite').Suite;
52
-
53
- //
54
- // This function gets added to events.EventEmitter.prototype, by default.
55
- // It's essentially a wrapper around `on`, which adds all the specification
56
- // goodness.
57
- //
58
- function addVow(vow) {
59
- var batch = vow.batch;
60
-
61
- batch.total ++;
62
- batch.vows.push(vow);
63
-
64
- return this.on("success", function () {
65
- var args = Array.prototype.slice.call(arguments);
66
- // If the callback is expecting two or more arguments,
67
- // pass the error as the first (null) and the result after.
68
- if (vow.callback.length >= 2 && batch.suite.options.error) {
69
- args.unshift(null);
70
- }
71
- runTest(args, this.ctx);
72
- vows.tryEnd(batch);
73
-
74
- }).on("error", function (err) {
75
- if (vow.callback.length >= 2 || !batch.suite.options.error) {
76
- runTest(arguments, this.ctx);
77
- } else {
78
- output('errored', { type: 'promise', error: err.stack || err.message || JSON.stringify(err) });
79
- }
80
- vows.tryEnd(batch);
81
- });
82
-
83
- function runTest(args, ctx) {
84
- var topic, status;
85
-
86
- if (vow.callback instanceof String) {
87
- return output('pending');
88
- }
89
-
90
- // Run the test, and try to catch `AssertionError`s and other exceptions;
91
- // increment counters accordingly.
92
- try {
93
- vow.callback.apply(ctx === global || !ctx ? vow.binding : ctx, args);
94
- output('honored');
95
- } catch (e) {
96
- if (e.name && e.name.match(/AssertionError/)) {
97
- output('broken', e.toString());
98
- } else {
99
- output('errored', e.stack || e.message || e);
100
- }
101
- }
102
- }
103
-
104
- function output(status, exception) {
105
- batch[status] ++;
106
- vow.status = status;
107
-
108
- if (vow.context && batch.lastContext !== vow.context) {
109
- batch.lastContext = vow.context;
110
- batch.suite.report(['context', vow.context]);
111
- }
112
- batch.suite.report(['vow', {
113
- title: vow.description,
114
- context: vow.context,
115
- status: status,
116
- exception: exception || null
117
- }]);
118
- }
119
- };
120
-
121
- //
122
- // On exit, check that all promises have been fired.
123
- // If not, report an error message.
124
- //
125
- process.on('exit', function () {
126
- var results = { honored: 0, broken: 0, errored: 0, pending: 0, total: 0 }, failure;
127
-
128
- vows.suites.forEach(function (s) {
129
- if ((s.results.total > 0) && (s.results.time === null)) {
130
- s.reporter.print('\n\n');
131
- s.reporter.report(['error', { error: "Asynchronous Error", suite: s }]);
132
- }
133
- s.batches.forEach(function (b) {
134
- var unFired = [];
135
-
136
- b.vows.forEach(function (vow) {
137
- if (! vow.status) {
138
- if (unFired.indexOf(vow.context) === -1) {
139
- unFired.push(vow.context);
140
- }
141
- }
142
- });
143
-
144
- if (unFired.length > 0) { sys.print('\n') }
145
-
146
- unFired.forEach(function (title) {
147
- s.reporter.report(['error', {
148
- error: "callback not fired",
149
- context: title,
150
- batch: b,
151
- suite: s
152
- }]);
153
- });
154
-
155
- if (b.status === 'begin') {
156
- failure = true;
157
- results.errored ++;
158
- results.total ++;
159
- }
160
- Object.keys(results).forEach(function (k) { results[k] += b[k] });
161
- });
162
- });
163
- if (failure) {
164
- sys.puts(console.result(results));
165
- }
166
- });
167
-
168
- vows.suites = [];
169
-
170
- //
171
- // Create a new test suite
172
- //
173
- vows.describe = function (subject) {
174
- var suite = new(Suite)(subject);
175
-
176
- this.options.Emitter.prototype.addVow = addVow;
177
- this.suites.push(suite);
178
-
179
- //
180
- // Add any additional arguments as batches if they're present
181
- //
182
- if (arguments.length > 1) {
183
- for (var i = 1, l = arguments.length; i < l; ++i) {
184
- suite.addBatch(arguments[i]);
185
- }
186
- }
187
-
188
- return suite;
189
- };
190
-
191
-
192
- vows.version = require('fs').readFileSync(path.join(__dirname, '..', 'package.json'))
193
- .toString().match(/"version"\s*:\s*"([\d.]+)"/)[1];
@@ -1,20 +0,0 @@
1
- Copyright (c) 2009 cloudhead
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,4 +0,0 @@
1
- test:
2
- @@node test/eyes-test.js
3
-
4
- .PHONY: test
@@ -1,72 +0,0 @@
1
- eyes
2
- ====
3
-
4
- a customizable value inspector for Node.js
5
-
6
- synopsis
7
- --------
8
-
9
- I was tired of looking at cluttered output in the console -- something needed to be done,
10
- `sys.inspect()` didn't display regexps correctly, and was too verbose, and I had an hour or two to spare.
11
- So I decided to have some fun. _eyes_ were born.
12
-
13
- ![eyes-ss](http://dl.dropbox.com/u/251849/eyes-js-ss.gif)
14
-
15
- _example of the output of a user-customized eyes.js inspector_
16
-
17
- *eyes* also deals with circular objects in an intelligent way, and can pretty-print object literals.
18
-
19
- usage
20
- -----
21
-
22
- var inspect = require('eyes').inspector({styles: {all: 'magenta'}});
23
-
24
- inspect(something); // inspect with the settings passed to `inspector`
25
-
26
- or
27
-
28
- var eyes = require('eyes');
29
-
30
- eyes.inspect(something); // inspect with the default settings
31
-
32
- you can pass a _label_ to `inspect()`, to keep track of your inspections:
33
-
34
- eyes.inspect(something, "a random value");
35
-
36
- If you want to return the output of eyes without printing it, you can set it up this way:
37
-
38
- var inspect = require('eyes').inspector({ stream: null });
39
-
40
- sys.puts(inspect({ something: 42 }));
41
-
42
- customization
43
- -------------
44
-
45
- These are the default styles and settings used by _eyes_.
46
- styles: { // Styles applied to stdout
47
- all: 'cyan', // Overall style applied to everything
48
- label: 'underline', // Inspection labels, like 'array' in `array: [1, 2, 3]`
49
- other: 'inverted', // Objects which don't have a literal representation, such as functions
50
- key: 'bold', // The keys in object literals, like 'a' in `{a: 1}`
51
-
52
- special: 'grey', // null, undefined...
53
- string: 'green',
54
- number: 'magenta',
55
- bool: 'blue', // true false
56
- regexp: 'green', // /\d+/
57
- },
58
- pretty: true, // Indent object literals
59
- hideFunctions: false, // Don't output functions at all
60
- stream: process.stdout, // Stream to write to, or null
61
- maxLength: 2048 // Truncate output if longer
62
-
63
- You can overwrite them with your own, by passing a similar object to `inspector()` or `inspect()`.
64
-
65
- var inspect = require('eyes').inspector({
66
- styles: {
67
- all: 'magenta',
68
- special: 'bold'
69
- },
70
- maxLength: 512
71
- });
72
-
@@ -1,233 +0,0 @@
1
- //
2
- // Eyes.js - a customizable value inspector for Node.js
3
- //
4
- // usage:
5
- //
6
- // var inspect = require('eyes').inspector({styles: {all: 'magenta'}});
7
- // inspect(something); // inspect with the settings passed to `inspector`
8
- //
9
- // or
10
- //
11
- // var eyes = require('eyes');
12
- // eyes.inspect(something); // inspect with the default settings
13
- //
14
- var eyes = exports,
15
- stack = [];
16
-
17
- eyes.defaults = {
18
- styles: { // Styles applied to stdout
19
- all: 'cyan', // Overall style applied to everything
20
- label: 'underline', // Inspection labels, like 'array' in `array: [1, 2, 3]`
21
- other: 'inverted', // Objects which don't have a literal representation, such as functions
22
- key: 'bold', // The keys in object literals, like 'a' in `{a: 1}`
23
- special: 'grey', // null, undefined...
24
- string: 'green',
25
- number: 'magenta',
26
- bool: 'blue', // true false
27
- regexp: 'green', // /\d+/
28
- },
29
- pretty: true, // Indent object literals
30
- hideFunctions: false,
31
- stream: process.stdout,
32
- maxLength: 2048 // Truncate output if longer
33
- };
34
-
35
- // Return a curried inspect() function, with the `options` argument filled in.
36
- eyes.inspector = function (options) {
37
- var that = this;
38
- return function (obj, label, opts) {
39
- return that.inspect.call(that, obj, label,
40
- merge(options || {}, opts || {}));
41
- };
42
- };
43
-
44
- // If we have a `stream` defined, use it to print a styled string,
45
- // if not, we just return the stringified object.
46
- eyes.inspect = function (obj, label, options) {
47
- options = merge(this.defaults, options || {});
48
-
49
- if (options.stream) {
50
- return this.print(stringify(obj, options), label, options);
51
- } else {
52
- return stringify(obj, options) + (options.styles ? '\033[39m' : '');
53
- }
54
- };
55
-
56
- // Output using the 'stream', and an optional label
57
- // Loop through `str`, and truncate it after `options.maxLength` has been reached.
58
- // Because escape sequences are, at this point embeded within
59
- // the output string, we can't measure the length of the string
60
- // in a useful way, without separating what is an escape sequence,
61
- // versus a printable character (`c`). So we resort to counting the
62
- // length manually.
63
- eyes.print = function (str, label, options) {
64
- for (var c = 0, i = 0; i < str.length; i++) {
65
- if (str.charAt(i) === '\033') { i += 4 } // `4` because '\033[25m'.length + 1 == 5
66
- else if (c === options.maxLength) {
67
- str = str.slice(0, i - 1) + '…';
68
- break;
69
- } else { c++ }
70
- }
71
- return options.stream.write.call(options.stream, (label ?
72
- this.stylize(label, options.styles.label, options.styles) + ': ' : '') +
73
- this.stylize(str, options.styles.all, options.styles) + '\033[0m' + "\n");
74
- };
75
-
76
- // Apply a style to a string, eventually,
77
- // I'd like this to support passing multiple
78
- // styles.
79
- eyes.stylize = function (str, style, styles) {
80
- var codes = {
81
- 'bold' : [1, 22],
82
- 'underline' : [4, 24],
83
- 'inverse' : [7, 27],
84
- 'cyan' : [36, 39],
85
- 'magenta' : [35, 39],
86
- 'blue' : [34, 39],
87
- 'yellow' : [33, 39],
88
- 'green' : [32, 39],
89
- 'red' : [31, 39],
90
- 'grey' : [90, 39]
91
- }, endCode;
92
-
93
- if (style && codes[style]) {
94
- endCode = (codes[style][1] === 39 && styles.all) ? codes[styles.all][0]
95
- : codes[style][1];
96
- return '\033[' + codes[style][0] + 'm' + str +
97
- '\033[' + endCode + 'm';
98
- } else { return str }
99
- };
100
-
101
- // Convert any object to a string, ready for output.
102
- // When an 'array' or an 'object' are encountered, they are
103
- // passed to specialized functions, which can then recursively call
104
- // stringify().
105
- function stringify(obj, options) {
106
- var that = this, stylize = function (str, style) {
107
- return eyes.stylize(str, options.styles[style], options.styles)
108
- }, index, result;
109
-
110
- if ((index = stack.indexOf(obj)) !== -1) {
111
- return stylize(new(Array)(stack.length - index + 1).join('.'), 'special');
112
- }
113
- stack.push(obj);
114
-
115
- result = (function (obj) {
116
- switch (typeOf(obj)) {
117
- case "string" : obj = stringifyString(obj.indexOf("'") === -1 ? "'" + obj + "'"
118
- : '"' + obj + '"');
119
- return stylize(obj, 'string');
120
- case "regexp" : return stylize('/' + obj.source + '/', 'regexp');
121
- case "number" : return stylize(obj + '', 'number');
122
- case "function" : return options.stream ? stylize("Function", 'other') : '[Function]';
123
- case "null" : return stylize("null", 'special');
124
- case "undefined": return stylize("undefined", 'special');
125
- case "boolean" : return stylize(obj + '', 'bool');
126
- case "date" : return stylize(obj.toUTCString());
127
- case "array" : return stringifyArray(obj, options, stack.length);
128
- case "object" : return stringifyObject(obj, options, stack.length);
129
- }
130
- })(obj);
131
-
132
- stack.pop();
133
- return result;
134
- };
135
-
136
- // Escape invisible characters in a string
137
- function stringifyString (str, options) {
138
- return str.replace(/\\/g, '\\\\')
139
- .replace(/\n/g, '\\n')
140
- .replace(/[\u0001-\u001F]/g, function (match) {
141
- return '\\0' + match[0].charCodeAt(0).toString(8);
142
- });
143
- }
144
-
145
- // Convert an array to a string, such as [1, 2, 3].
146
- // This function calls stringify() for each of the elements
147
- // in the array.
148
- function stringifyArray(ary, options, level) {
149
- var out = [];
150
- var pretty = options.pretty && (ary.length > 4 || ary.some(function (o) {
151
- return (typeof(o) === 'object' && Object.keys(o).length > 0) ||
152
- (Array.isArray(o) && o.length > 0);
153
- }));
154
- var ws = pretty ? '\n' + new(Array)(level * 4 + 1).join(' ') : ' ';
155
-
156
- for (var i = 0; i < ary.length; i++) {
157
- out.push(stringify(ary[i], options));
158
- }
159
-
160
- if (out.length === 0) {
161
- return '[]';
162
- } else {
163
- return '[' + ws
164
- + out.join(',' + (pretty ? ws : ' '))
165
- + (pretty ? ws.slice(0, -4) : ws) +
166
- ']';
167
- }
168
- };
169
-
170
- // Convert an object to a string, such as {a: 1}.
171
- // This function calls stringify() for each of its values,
172
- // and does not output functions or prototype values.
173
- function stringifyObject(obj, options, level) {
174
- var out = [];
175
- var pretty = options.pretty && (Object.keys(obj).length > 2 ||
176
- Object.keys(obj).some(function (k) { return typeof(obj[k]) === 'object' }));
177
- var ws = pretty ? '\n' + new(Array)(level * 4 + 1).join(' ') : ' ';
178
-
179
- Object.keys(obj).forEach(function (k) {
180
- if (obj.hasOwnProperty(k) && !(obj[k] instanceof Function && options.hideFunctions)) {
181
- out.push(eyes.stylize(k, options.styles.key, options.styles) + ': ' +
182
- stringify(obj[k], options));
183
- }
184
- });
185
-
186
- if (out.length === 0) {
187
- return '{}';
188
- } else {
189
- return "{" + ws
190
- + out.join(',' + (pretty ? ws : ' '))
191
- + (pretty ? ws.slice(0, -4) : ws) +
192
- "}";
193
- }
194
- };
195
-
196
- // A better `typeof`
197
- function typeOf(value) {
198
- var s = typeof(value),
199
- types = [Object, Array, String, RegExp, Number, Function, Boolean, Date];
200
-
201
- if (s === 'object' || s === 'function') {
202
- if (value) {
203
- types.forEach(function (t) {
204
- if (value instanceof t) { s = t.name.toLowerCase() }
205
- });
206
- } else { s = 'null' }
207
- }
208
- return s;
209
- }
210
-
211
- function merge(/* variable args */) {
212
- var objs = Array.prototype.slice.call(arguments);
213
- var target = {};
214
-
215
- objs.forEach(function (o) {
216
- Object.keys(o).forEach(function (k) {
217
- if (k === 'styles') {
218
- if (! o.styles) {
219
- target.styles = false;
220
- } else {
221
- target.styles = {}
222
- for (var s in o.styles) {
223
- target.styles[s] = o.styles[s];
224
- }
225
- }
226
- } else {
227
- target[k] = o[k];
228
- }
229
- });
230
- });
231
- return target;
232
- }
233
-
@@ -1,14 +0,0 @@
1
- {
2
- "name" : "eyes",
3
- "description" : "a customizable value inspector",
4
- "url" : "http://github.com/cloudhead/eyes.js",
5
- "keywords" : ["inspector", "debug", "inspect", "print"],
6
- "author" : "Alexis Sellier <self@cloudhead.net>",
7
- "contributors" : [],
8
- "licenses" : ["MIT"],
9
- "dependencies" : [],
10
- "main" : "./lib/eyes",
11
- "version" : "0.1.6",
12
- "directories" : { "lib": "./lib", "test": "./test" },
13
- "engines" : { "node": "> 0.1.90" }
14
- }
@@ -1,55 +0,0 @@
1
- var sys = require('sys');
2
- var eyes = require('../lib/eyes');
3
-
4
- eyes.inspect({
5
- number: 42,
6
- string: "John Galt",
7
- regexp: /[a-z]+/,
8
- array: [99, 168, 'x', {}],
9
- func: function () {},
10
- bool: false,
11
- nil: null,
12
- undef: undefined,
13
- object: {attr: []}
14
- }, "native types");
15
-
16
- eyes.inspect({
17
- number: new(Number)(42),
18
- string: new(String)("John Galt"),
19
- regexp: new(RegExp)(/[a-z]+/),
20
- array: new(Array)(99, 168, 'x', {}),
21
- bool: new(Boolean)(false),
22
- object: new(Object)({attr: []}),
23
- date: new(Date)
24
- }, "wrapped types");
25
-
26
- var obj = {};
27
- obj.that = { self: obj };
28
- obj.self = obj;
29
-
30
- eyes.inspect(obj, "circular object");
31
- eyes.inspect({hello: 'moto'}, "small object");
32
- eyes.inspect({hello: new(Array)(6) }, "big object");
33
- eyes.inspect(["hello 'world'", 'hello "world"'], "quotes");
34
- eyes.inspect({
35
- recommendations: [{
36
- id: 'a7a6576c2c822c8e2bd81a27e41437d8',
37
- key: [ 'spree', 3.764316258020699 ],
38
- value: {
39
- _id: 'a7a6576c2c822c8e2bd81a27e41437d8',
40
- _rev: '1-2e2d2f7fd858c4a5984bcf809d22ed98',
41
- type: 'domain',
42
- domain: 'spree',
43
- weight: 3.764316258020699,
44
- product_id: 30
45
- }
46
- }]
47
- }, 'complex');
48
-
49
-
50
- var inspect = eyes.inspector({ stream: null });
51
-
52
- sys.puts(inspect('something', "something"));
53
- sys.puts(inspect("something else"));
54
-
55
- sys.puts(inspect(["no color"], null, { styles: false }));
@@ -1,14 +0,0 @@
1
- {
2
- "name" : "vows",
3
- "description" : "Asynchronous BDD & continuous integration for node.js",
4
- "url" : "http://vowsjs.org",
5
- "keywords" : ["testing", "spec", "test", "BDD"],
6
- "author" : "Alexis Sellier <self@cloudhead.net>",
7
- "contributors" : [{ "name": "Charlie Robbins", "email": "charlie.robbins@gmail.com" }],
8
- "dependencies" : {"eyes": ">=0.1.6"},
9
- "main" : "./lib/vows",
10
- "bin" : { "vows": "./bin/vows" },
11
- "directories" : { "test": "./test", "bin": "./bin" },
12
- "version" : "0.5.11",
13
- "engines" : {"node": ">=0.2.6"}
14
- }