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,548 +0,0 @@
1
-
2
- /*!
3
- * Should
4
- * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
5
- * MIT Licensed
6
- */
7
-
8
- /**
9
- * Module dependencies.
10
- */
11
-
12
- var util = require('sys')
13
- , assert = require('assert')
14
- , AssertionError = assert.AssertionError
15
- , eql = require('./eql')
16
- , i = util.inspect;
17
-
18
- /**
19
- * Expose assert as should.
20
- *
21
- * This allows you to do things like below
22
- * without require()ing the assert module.
23
- *
24
- * should.equal(foo.bar, undefined);
25
- *
26
- */
27
-
28
- exports = module.exports = assert;
29
-
30
- /**
31
- * Library version.
32
- */
33
-
34
- exports.version = '0.0.4';
35
-
36
- /**
37
- * Expose api via `Object#should`.
38
- *
39
- * @api public
40
- */
41
-
42
- Object.defineProperty(Object.prototype, 'should', {
43
- set: function(){},
44
- get: function(){
45
- return new Assertion(this);
46
- }
47
- });
48
-
49
- /**
50
- * Initialize a new `Assertion` with the given _obj_.
51
- *
52
- * @param {Mixed} obj
53
- * @api private
54
- */
55
-
56
- var Assertion = exports.Assertion = function Assertion(obj) {
57
- this.obj = obj;
58
- };
59
-
60
- /**
61
- * Prototype.
62
- */
63
-
64
- Assertion.prototype = {
65
-
66
- /**
67
- * HACK: prevents double require() from failing.
68
- */
69
-
70
- exports: exports,
71
-
72
- /**
73
- * Assert _expr_ with the given _msg_ and _negatedMsg_.
74
- *
75
- * @param {Boolean} expr
76
- * @param {String} msg
77
- * @param {String} negatedMsg
78
- * @api private
79
- */
80
-
81
- assert: function(expr, msg, negatedMsg){
82
- var msg = this.negate ? negatedMsg : msg
83
- , ok = this.negate ? !expr : expr;
84
- if (!ok) {
85
- throw new AssertionError({
86
- message: msg
87
- , stackStartFunction: this.assert
88
- });
89
- }
90
- },
91
-
92
- /**
93
- * Dummy getter.
94
- *
95
- * @api public
96
- */
97
-
98
- get an() {
99
- return this;
100
- },
101
-
102
- /**
103
- * Dummy getter.
104
- *
105
- * @api public
106
- */
107
-
108
- get and() {
109
- return this;
110
- },
111
-
112
- /**
113
- * Dummy getter.
114
- *
115
- * @api public
116
- */
117
-
118
- get be() {
119
- return this;
120
- },
121
-
122
- /**
123
- * Dummy getter.
124
- *
125
- * @api public
126
- */
127
-
128
- get have() {
129
- return this;
130
- },
131
-
132
- /**
133
- * Dummy getter.
134
- *
135
- * @api public
136
- */
137
-
138
- get with() {
139
- return this;
140
- },
141
-
142
- /**
143
- * Inclusion modifier.
144
- *
145
- * @api public
146
- */
147
-
148
- get include() {
149
- this.includes = true;
150
- return this;
151
- },
152
-
153
- /**
154
- * Negation modifier.
155
- *
156
- * @api public
157
- */
158
-
159
- get not() {
160
- this.negate = true;
161
- return this;
162
- },
163
-
164
- /**
165
- * Get object inspection string.
166
- *
167
- * @return {String}
168
- * @api private
169
- */
170
-
171
- get inspect() {
172
- return i(this.obj);
173
- },
174
-
175
- /**
176
- * Assert instanceof `Arguments`.
177
- *
178
- * @api public
179
- */
180
-
181
- get arguments() {
182
- this.assert(
183
- '[object Arguments]' == Object.prototype.toString.call(this.obj)
184
- , 'expected ' + this.inspect + ' to be arguments'
185
- , 'expected ' + this.inspect + ' to not be arguments');
186
- return this;
187
- },
188
-
189
- /**
190
- * Assert that an object is empty aka length of 0.
191
- *
192
- * @api public
193
- */
194
-
195
- get empty() {
196
- this.obj.should.have.property('length');
197
- this.assert(
198
- 0 === this.obj.length
199
- , 'expected ' + this.inspect + ' to be empty'
200
- , 'expected ' + this.inspect + ' not to be empty');
201
- return this;
202
- },
203
-
204
- /**
205
- * Assert ok.
206
- *
207
- * @api public
208
- */
209
-
210
- get ok() {
211
- this.assert(
212
- this.obj
213
- , 'expected ' + this.inspect + ' to be truthy'
214
- , 'expected ' + this.inspect + ' to be falsey');
215
- return this;
216
- },
217
-
218
- /**
219
- * Assert true.
220
- *
221
- * @api public
222
- */
223
-
224
- get true() {
225
- this.assert(
226
- true === this.obj
227
- , 'expected ' + this.inspect + ' to be true'
228
- , 'expected ' + this.inspect + ' not to be true');
229
- return this;
230
- },
231
-
232
- /**
233
- * Assert false.
234
- *
235
- * @api public
236
- */
237
-
238
- get false() {
239
- this.assert(
240
- false === this.obj
241
- , 'expected ' + this.inspect + ' to be false'
242
- , 'expected ' + this.inspect + ' not to be false');
243
- return this;
244
- },
245
-
246
- /**
247
- * Assert equal.
248
- *
249
- * @param {Mixed} val
250
- * @api public
251
- */
252
-
253
- eql: function(val){
254
- this.assert(
255
- eql(val, this.obj)
256
- , 'expected ' + this.inspect + ' to equal ' + i(val)
257
- , 'expected ' + this.inspect + ' to not equal ' + i(val));
258
- return this;
259
- },
260
-
261
- /**
262
- * Assert strict equal.
263
- *
264
- * @param {Mixed} val
265
- * @api public
266
- */
267
-
268
- equal: function(val){
269
- this.assert(
270
- val === this.obj
271
- , 'expected ' + this.inspect + ' to equal ' + i(val)
272
- , 'expected ' + this.inspect + ' to not equal ' + i(val));
273
- return this;
274
- },
275
-
276
- /**
277
- * Assert within start to finish (inclusive).
278
- *
279
- * @param {Number} start
280
- * @param {Number} finish
281
- * @api public
282
- */
283
-
284
- within: function(start, finish){
285
- var range = start + '..' + finish;
286
- this.assert(
287
- this.obj >= start && this.obj <= finish
288
- , 'expected ' + this.inspect + ' to be within ' + range
289
- , 'expected ' + this.inspect + ' to not be within ' + range);
290
- return this;
291
- },
292
-
293
- /**
294
- * Assert typeof.
295
- *
296
- * @api public
297
- */
298
-
299
- a: function(type){
300
- this.assert(
301
- type == typeof this.obj
302
- , 'expected ' + this.inspect + ' to be a ' + type
303
- , 'expected ' + this.inspect + ' not to be a ' + type);
304
- return this;
305
- },
306
-
307
- /**
308
- * Assert instanceof.
309
- *
310
- * @api public
311
- */
312
-
313
- instanceof: function(constructor){
314
- var name = constructor.name;
315
- this.assert(
316
- this.obj instanceof constructor
317
- , 'expected ' + this.inspect + ' to be an instance of ' + name
318
- , 'expected ' + this.inspect + ' not to be an instance of ' + name);
319
- return this;
320
- },
321
-
322
- /**
323
- * Assert numeric value above _n_.
324
- *
325
- * @param {Number} n
326
- * @api public
327
- */
328
-
329
- above: function(n){
330
- this.assert(
331
- this.obj > n
332
- , 'expected ' + this.inspect + ' to be above ' + n
333
- , 'expected ' + this.inspect + ' to be below ' + n);
334
- return this;
335
- },
336
-
337
- /**
338
- * Assert numeric value below _n_.
339
- *
340
- * @param {Number} n
341
- * @api public
342
- */
343
-
344
- below: function(n){
345
- this.assert(
346
- this.obj < n
347
- , 'expected ' + this.inspect + ' to be below ' + n
348
- , 'expected ' + this.inspect + ' to be above ' + n);
349
- return this;
350
- },
351
-
352
- /**
353
- * Assert string value matches _regexp_.
354
- *
355
- * @param {RegExp} regexp
356
- * @api public
357
- */
358
-
359
- match: function(regexp){
360
- this.assert(
361
- regexp.exec(this.obj)
362
- , 'expected ' + this.inspect + ' to match ' + regexp
363
- , 'expected ' + this.inspect + ' not to match ' + regexp);
364
- return this;
365
- },
366
-
367
- /**
368
- * Assert property "length" exists and has value of _n_.
369
- *
370
- * @param {Number} n
371
- * @api public
372
- */
373
-
374
- length: function(n){
375
- this.obj.should.have.property('length');
376
- var len = this.obj.length;
377
- this.assert(
378
- n == len
379
- , 'expected ' + this.inspect + ' to have a length of ' + n + ' but got ' + len
380
- , 'expected ' + this.inspect + ' to not have a length of ' + len);
381
- return this;
382
- },
383
-
384
- /**
385
- * Assert substring.
386
- *
387
- * @param {String} str
388
- * @api public
389
- */
390
-
391
- string: function(str){
392
- this.obj.should.be.a('string');
393
- this.assert(
394
- ~this.obj.indexOf(str)
395
- , 'expected ' + this.inspect + ' to include ' + i(str)
396
- , 'expected ' + this.inspect + ' to not include ' + i(str));
397
- return this;
398
- },
399
-
400
- /**
401
- * Assert property _name_ exists, with optional _val_.
402
- *
403
- * @param {String} name
404
- * @param {Mixed} val
405
- * @api public
406
- */
407
-
408
- property: function(name, val){
409
- if (this.negate && undefined !== val) {
410
- if (undefined === this.obj[name]) {
411
- throw new Error(this.inspect + ' has no property ' + i(name));
412
- }
413
- } else {
414
- this.assert(
415
- undefined !== this.obj[name]
416
- , 'expected ' + this.inspect + ' to have a property ' + i(name)
417
- , 'expected ' + this.inspect + ' to not have a property ' + i(name));
418
- }
419
-
420
- if (undefined !== val) {
421
- this.assert(
422
- val === this.obj[name]
423
- , 'expected ' + this.inspect + ' to have a property ' + i(name)
424
- + ' of ' + i(val) + ', but got ' + i(this.obj[name])
425
- , 'expected ' + this.inspect + ' to not have a property ' + i(name) + ' of ' + i(val));
426
- }
427
-
428
- this.obj = this.obj[name];
429
- return this;
430
- },
431
-
432
- /**
433
- * Assert own property _name_ exists.
434
- *
435
- * @param {String} name
436
- * @api public
437
- */
438
-
439
- ownProperty: function(name){
440
- this.assert(
441
- this.obj.hasOwnProperty(name)
442
- , 'expected ' + this.inspect + ' to have own property ' + i(name)
443
- , 'expected ' + this.inspect + ' to not have own property ' + i(name));
444
- return this;
445
- },
446
-
447
- /**
448
- * Assert that the array contains _obj_.
449
- *
450
- * @param {Mixed} obj
451
- * @api public
452
- */
453
-
454
- contain: function(obj){
455
- this.obj.should.be.an.instanceof(Array);
456
- this.assert(
457
- ~this.obj.indexOf(obj)
458
- , 'expected ' + this.inspect + ' to contain ' + i(obj)
459
- , 'expected ' + this.inspect + ' to not contain ' + i(obj));
460
- return this;
461
- },
462
-
463
- /**
464
- * Assert exact keys or inclusion of keys by using
465
- * the `.include` modifier.
466
- *
467
- * @param {Array|String ...} keys
468
- * @api public
469
- */
470
-
471
- keys: function(keys){
472
- var str
473
- , ok = true;
474
-
475
- keys = keys instanceof Array
476
- ? keys
477
- : Array.prototype.slice.call(arguments);
478
-
479
- if (!keys.length) throw new Error('keys required');
480
-
481
- var actual = Object.keys(this.obj)
482
- , len = keys.length;
483
-
484
- // Inclusion
485
- ok = keys.every(function(key){
486
- return ~actual.indexOf(key);
487
- });
488
-
489
- // Strict
490
- if (!this.negate && !this.includes) {
491
- ok = ok && keys.length == actual.length;
492
- }
493
-
494
- // Key string
495
- if (len > 1) {
496
- keys = keys.map(function(key){
497
- return i(key);
498
- });
499
- var last = keys.pop();
500
- str = keys.join(', ') + ', and ' + last;
501
- } else {
502
- str = i(keys[0]);
503
- }
504
-
505
- // Form
506
- str = (len > 1 ? 'keys ' : 'key ') + str;
507
-
508
- // Have / include
509
- str = (this.includes ? 'include ' : 'have ') + str;
510
-
511
- // Assertion
512
- this.assert(
513
- ok
514
- , 'expected ' + this.inspect + ' to ' + str
515
- , 'expected ' + this.inspect + ' to not ' + str);
516
-
517
- return this;
518
- },
519
-
520
- /**
521
- * Assert that _method_ is a function.
522
- *
523
- * @param {String} method
524
- * @api public
525
- */
526
-
527
- respondTo: function(method){
528
- this.assert(
529
- 'function' == typeof this.obj[method]
530
- , 'expected ' + this.inspect + ' to respond to ' + method + '()'
531
- , 'expected ' + this.inspect + ' to not respond to ' + method + '()');
532
- return this;
533
- }
534
- };
535
-
536
- /**
537
- * Aliases.
538
- */
539
-
540
- (function alias(name, as){
541
- Assertion.prototype[as] = Assertion.prototype[name];
542
- return alias;
543
- })
544
- ('length', 'lengthOf')
545
- ('keys', 'key')
546
- ('ownProperty', 'haveOwnProperty')
547
- ('above', 'greaterThan')
548
- ('below', 'lessThan');
@@ -1,8 +0,0 @@
1
- { "name": "should"
2
- , "description": "test framework agnostic BDD-style assertions"
3
- , "version": "0.0.4"
4
- , "author": "TJ Holowaychuk <tj@vision-media.ca>"
5
- , "keywords": ["test", "bdd", "assert"]
6
- , "main": "./lib/should.js"
7
- , "engines": { "node": ">= 0.2.0" }
8
- }