vulcan 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. data/lib/vulcan/cli.rb +3 -0
  2. data/lib/vulcan/version.rb +1 -1
  3. data/server/lib/spawner.js +9 -4
  4. data/server/node_modules/cradle/lib/cradle.js +0 -1
  5. data/server/node_modules/cradle/package.json +3 -3
  6. data/server/node_modules/cradle/test/cache-test.js +6 -7
  7. data/server/node_modules/cradle/test/cradle-test.js +4 -5
  8. data/server/node_modules/cradle/test/response-test.js +5 -6
  9. data/server/node_modules/express/History.md +40 -0
  10. data/server/node_modules/express/Makefile +3 -9
  11. data/server/node_modules/express/Readme.md +3 -1
  12. data/server/node_modules/express/bin/express +61 -63
  13. data/server/node_modules/express/lib/express.js +1 -1
  14. data/server/node_modules/express/lib/request.js +9 -7
  15. data/server/node_modules/express/lib/view.js +19 -16
  16. data/server/node_modules/express/node_modules/connect/lib/connect.js +1 -1
  17. data/server/node_modules/express/node_modules/connect/lib/http.js +2 -0
  18. data/server/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js +135 -31
  19. data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +5 -1
  20. data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +2 -2
  21. data/server/node_modules/express/node_modules/connect/lib/middleware/static.js +26 -21
  22. data/server/node_modules/express/node_modules/connect/lib/middleware/staticCache.js +91 -38
  23. data/server/node_modules/express/node_modules/connect/lib/middleware/vhost.js +1 -1
  24. data/server/node_modules/express/node_modules/connect/lib/utils.js +11 -4
  25. data/server/node_modules/express/node_modules/connect/node_modules/formidable/Makefile +14 -0
  26. data/server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md +286 -0
  27. data/server/node_modules/express/node_modules/connect/node_modules/formidable/TODO +3 -0
  28. data/server/node_modules/express/node_modules/connect/node_modules/formidable/benchmark/bench-multipart-parser.js +70 -0
  29. data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/post.js +43 -0
  30. data/server/node_modules/express/node_modules/connect/node_modules/formidable/example/upload.js +48 -0
  31. data/server/node_modules/express/node_modules/connect/node_modules/formidable/index.js +1 -0
  32. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/file.js +61 -0
  33. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js +377 -0
  34. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js +3 -0
  35. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js +312 -0
  36. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js +25 -0
  37. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js +6 -0
  38. data/server/node_modules/express/node_modules/connect/node_modules/formidable/package.json +22 -0
  39. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/common.js +19 -0
  40. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt +1 -0
  41. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt +1 -0
  42. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http +13 -0
  43. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md +3 -0
  44. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +26 -0
  45. 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
  46. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +23 -0
  47. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +24 -0
  48. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +22 -0
  49. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +22 -0
  50. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +22 -0
  51. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js +3 -0
  52. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +21 -0
  53. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multi_video.upload +0 -0
  54. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multipart.js +72 -0
  55. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/integration/test-fixtures.js +89 -0
  56. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js +24 -0
  57. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/integration/test-multipart-parser.js +80 -0
  58. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-file.js +104 -0
  59. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js +715 -0
  60. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-multipart-parser.js +50 -0
  61. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-querystring-parser.js +45 -0
  62. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/test-multi-video-upload.js +72 -0
  63. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/run.js +2 -0
  64. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/unit/test-incoming-form.js +63 -0
  65. data/server/node_modules/express/node_modules/connect/node_modules/formidable/tool/record.js +47 -0
  66. data/server/node_modules/express/node_modules/connect/package.json +7 -6
  67. data/server/node_modules/express/node_modules/connect/test.js +44 -31
  68. data/server/node_modules/express/node_modules/qs/History.md +11 -0
  69. data/server/node_modules/express/node_modules/qs/Makefile +1 -3
  70. data/server/node_modules/express/node_modules/qs/Readme.md +2 -4
  71. data/server/node_modules/express/node_modules/qs/lib/querystring.js +100 -74
  72. data/server/node_modules/express/node_modules/qs/package.json +9 -2
  73. data/server/node_modules/express/node_modules/qs/test/mocha.opts +2 -0
  74. data/server/node_modules/express/node_modules/qs/test/{parse.test.js → parse.js} +1 -2
  75. data/server/node_modules/express/node_modules/qs/test/{stringify.test.js → stringify.js} +0 -0
  76. data/server/node_modules/express/package.json +7 -7
  77. data/server/node_modules/express/testing/foo/app.js +35 -0
  78. data/server/node_modules/express/testing/foo/package.json +9 -0
  79. data/server/node_modules/express/testing/foo/public/stylesheets/style.css +8 -0
  80. data/server/node_modules/express/testing/foo/routes/index.js +10 -0
  81. data/server/node_modules/express/testing/foo/views/index.jade +2 -0
  82. data/server/node_modules/express/testing/foo/views/layout.jade +6 -0
  83. data/server/node_modules/express/testing/index.js +31 -5
  84. data/server/node_modules/express/testing/public/test.txt +2971 -0
  85. data/server/node_modules/express/testing/views/page.html +1 -0
  86. data/server/node_modules/express/testing/views/page.jade +3 -0
  87. data/server/node_modules/express/testing/views/test.md +1 -0
  88. data/server/node_modules/express/testing/views/user/index.jade +1 -0
  89. data/server/node_modules/express/testing/views/user/list.jade +1 -0
  90. data/server/node_modules/node-uuid/README.md +166 -67
  91. data/server/node_modules/node-uuid/benchmark/README.md +53 -0
  92. data/server/node_modules/node-uuid/benchmark/bench.gnu +174 -0
  93. data/server/node_modules/node-uuid/benchmark/bench.sh +34 -0
  94. data/server/node_modules/node-uuid/{test → benchmark}/benchmark-native.c +0 -0
  95. data/server/node_modules/node-uuid/benchmark/benchmark.js +84 -0
  96. data/server/node_modules/node-uuid/package.json +5 -3
  97. data/server/node_modules/node-uuid/test/benchmark-native +0 -0
  98. data/server/node_modules/node-uuid/test/compare_v1.js +63 -0
  99. data/server/node_modules/node-uuid/test/test.html +3 -0
  100. data/server/node_modules/node-uuid/test/test.js +214 -57
  101. data/server/node_modules/node-uuid/uuid.js +225 -56
  102. data/server/node_modules/restler/README.md +20 -7
  103. data/server/node_modules/restler/bin/restler +1 -1
  104. data/server/node_modules/restler/lib/multipartform.js +9 -8
  105. data/server/node_modules/restler/lib/restler.js +64 -22
  106. data/server/node_modules/restler/package.json +2 -2
  107. data/server/node_modules/restler/test/restler.js +22 -2
  108. data/server/node_modules/restler/test/test_helper.js +20 -1
  109. data/server/package.json +8 -8
  110. data/server/web.js +22 -6
  111. metadata +72 -82
  112. data/server/node_modules/cradle/node_modules/vows/LICENSE +0 -20
  113. data/server/node_modules/cradle/node_modules/vows/Makefile +0 -7
  114. data/server/node_modules/cradle/node_modules/vows/README.md +0 -39
  115. data/server/node_modules/cradle/node_modules/vows/bin/vows +0 -515
  116. data/server/node_modules/cradle/node_modules/vows/lib/assert/error.js +0 -27
  117. data/server/node_modules/cradle/node_modules/vows/lib/assert/macros.js +0 -215
  118. data/server/node_modules/cradle/node_modules/vows/lib/assert/utils.js +0 -77
  119. data/server/node_modules/cradle/node_modules/vows/lib/vows.js +0 -193
  120. data/server/node_modules/cradle/node_modules/vows/lib/vows/console.js +0 -131
  121. data/server/node_modules/cradle/node_modules/vows/lib/vows/context.js +0 -55
  122. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/file.js +0 -29
  123. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-foot.html +0 -2
  124. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/fragments/coverage-head.html +0 -61
  125. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-html.js +0 -54
  126. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-json.js +0 -54
  127. data/server/node_modules/cradle/node_modules/vows/lib/vows/coverage/report-plain.js +0 -38
  128. data/server/node_modules/cradle/node_modules/vows/lib/vows/extras.js +0 -28
  129. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/dot-matrix.js +0 -67
  130. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/json.js +0 -16
  131. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/silent.js +0 -8
  132. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/spec.js +0 -44
  133. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/watch.js +0 -39
  134. data/server/node_modules/cradle/node_modules/vows/lib/vows/reporters/xunit.js +0 -90
  135. data/server/node_modules/cradle/node_modules/vows/lib/vows/suite.js +0 -319
  136. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/LICENSE +0 -20
  137. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/Makefile +0 -4
  138. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/README.md +0 -72
  139. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/lib/eyes.js +0 -233
  140. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/package.json +0 -14
  141. data/server/node_modules/cradle/node_modules/vows/node_modules/eyes/test/eyes-test.js +0 -55
  142. data/server/node_modules/cradle/node_modules/vows/package.json +0 -14
  143. data/server/node_modules/cradle/node_modules/vows/test/assert-test.js +0 -135
  144. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/failing.js +0 -18
  145. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/log.js +0 -18
  146. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/passing.js +0 -17
  147. data/server/node_modules/cradle/node_modules/vows/test/fixtures/isolate/stderr.js +0 -18
  148. data/server/node_modules/cradle/node_modules/vows/test/isolate-test.js +0 -140
  149. data/server/node_modules/cradle/node_modules/vows/test/testInherit.js +0 -133
  150. data/server/node_modules/cradle/node_modules/vows/test/vows-error-test.js +0 -51
  151. data/server/node_modules/cradle/node_modules/vows/test/vows-test.js +0 -374
  152. data/server/node_modules/express/node_modules/qs/support/expresso/History.md +0 -128
  153. data/server/node_modules/express/node_modules/qs/support/expresso/Makefile +0 -53
  154. data/server/node_modules/express/node_modules/qs/support/expresso/Readme.md +0 -61
  155. data/server/node_modules/express/node_modules/qs/support/expresso/bin/expresso +0 -856
  156. data/server/node_modules/express/node_modules/qs/support/expresso/docs/api.html +0 -1080
  157. data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.html +0 -377
  158. data/server/node_modules/express/node_modules/qs/support/expresso/docs/index.md +0 -290
  159. data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/foot.html +0 -3
  160. data/server/node_modules/express/node_modules/qs/support/expresso/docs/layout/head.html +0 -42
  161. data/server/node_modules/express/node_modules/qs/support/expresso/lib/bar.js +0 -4
  162. data/server/node_modules/express/node_modules/qs/support/expresso/lib/foo.js +0 -16
  163. data/server/node_modules/express/node_modules/qs/support/expresso/package.json +0 -12
  164. data/server/node_modules/express/node_modules/qs/support/expresso/test/assert.test.js +0 -91
  165. data/server/node_modules/express/node_modules/qs/support/expresso/test/async.test.js +0 -12
  166. data/server/node_modules/express/node_modules/qs/support/expresso/test/bar.test.js +0 -13
  167. data/server/node_modules/express/node_modules/qs/support/expresso/test/foo.test.js +0 -14
  168. data/server/node_modules/express/node_modules/qs/support/expresso/test/http.test.js +0 -146
  169. data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/async.test.js +0 -39
  170. data/server/node_modules/express/node_modules/qs/support/expresso/test/serial/http.test.js +0 -48
  171. data/server/node_modules/express/node_modules/qs/support/should/History.md +0 -22
  172. data/server/node_modules/express/node_modules/qs/support/should/Makefile +0 -6
  173. data/server/node_modules/express/node_modules/qs/support/should/Readme.md +0 -248
  174. data/server/node_modules/express/node_modules/qs/support/should/examples/runner.js +0 -53
  175. data/server/node_modules/express/node_modules/qs/support/should/index.js +0 -2
  176. data/server/node_modules/express/node_modules/qs/support/should/lib/eql.js +0 -91
  177. data/server/node_modules/express/node_modules/qs/support/should/lib/should.js +0 -548
  178. data/server/node_modules/express/node_modules/qs/support/should/package.json +0 -8
  179. data/server/node_modules/express/node_modules/qs/support/should/test/should.test.js +0 -358
  180. data/server/node_modules/express/testing/views/users.jade +0 -1
  181. data/server/node_modules/node-uuid/test/benchmark.js +0 -27
@@ -1,27 +0,0 @@
1
- var stylize = require('../vows/console').stylize;
2
- var inspect = require('../vows/console').inspect;
3
-
4
- require('assert').AssertionError.prototype.toString = function () {
5
- var that = this,
6
- source = this.stack.match(/([a-zA-Z0-9._-]+\.js)(:\d+):\d+/);
7
-
8
- function parse(str) {
9
- return str.replace(/{actual}/g, inspect(that.actual)).
10
- replace(/{operator}/g, stylize(that.operator, 'bold')).
11
- replace(/{expected}/g, (that.expected instanceof Function)
12
- ? that.expected.name
13
- : inspect(that.expected));
14
- }
15
-
16
- if (this.message) {
17
- return stylize(parse(this.message), 'yellow') +
18
- stylize(' // ' + source[1] + source[2], 'grey');
19
- } else {
20
- return stylize([
21
- this.expected,
22
- this.operator,
23
- this.actual
24
- ].join(' '), 'yellow');
25
- }
26
- };
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,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];