spade 0.0.8.1 → 0.1.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 (346) hide show
  1. data/.gitignore +0 -1
  2. data/.gitmodules +4 -4
  3. data/README.md +4 -0
  4. data/bin/spade +1 -1
  5. data/lib/spade.rb +0 -51
  6. data/lib/spade/cli.rb +10 -4
  7. data/lib/spade/version.rb +1 -1
  8. data/spade.gemspec +4 -21
  9. metadata +13 -482
  10. data/Gemfile +0 -3
  11. data/Gemfile.lock +0 -40
  12. data/lib/index.js +0 -14
  13. data/lib/node/loader.js +0 -146
  14. data/lib/node/sandbox.js +0 -44
  15. data/lib/spade.js +0 -1130
  16. data/lib/spade/bundle.rb +0 -171
  17. data/lib/spade/cli/base.rb +0 -354
  18. data/lib/spade/cli/owner.rb +0 -45
  19. data/lib/spade/cli/project_generator.rb +0 -58
  20. data/lib/spade/compiler.rb +0 -34
  21. data/lib/spade/console.rb +0 -39
  22. data/lib/spade/context.rb +0 -116
  23. data/lib/spade/credentials.rb +0 -36
  24. data/lib/spade/dependency_installer.rb +0 -103
  25. data/lib/spade/environment.rb +0 -35
  26. data/lib/spade/exports.rb +0 -71
  27. data/lib/spade/installer.rb +0 -40
  28. data/lib/spade/loader.rb +0 -238
  29. data/lib/spade/local.rb +0 -46
  30. data/lib/spade/package.rb +0 -157
  31. data/lib/spade/reactor.rb +0 -159
  32. data/lib/spade/remote.rb +0 -99
  33. data/lib/spade/repository.rb +0 -18
  34. data/lib/spade/server.rb +0 -66
  35. data/lib/spade/shell.rb +0 -36
  36. data/lib/spade/templates/project/LICENSE +0 -19
  37. data/lib/spade/templates/project/README.md +0 -21
  38. data/lib/spade/templates/project/lib/main.js +0 -9
  39. data/lib/spade/templates/project/project.json +0 -31
  40. data/lib/spade/templates/project/tests/main-test.js +0 -8
  41. data/package.json +0 -27
  42. data/packages/coffee-script/.gitignore +0 -8
  43. data/packages/coffee-script/.npmignore +0 -11
  44. data/packages/coffee-script/Cakefile +0 -229
  45. data/packages/coffee-script/LICENSE +0 -22
  46. data/packages/coffee-script/README +0 -47
  47. data/packages/coffee-script/Rakefile +0 -78
  48. data/packages/coffee-script/bin/cake +0 -7
  49. data/packages/coffee-script/bin/coffee +0 -7
  50. data/packages/coffee-script/documentation/coffee/aliases.coffee +0 -11
  51. data/packages/coffee-script/documentation/coffee/array_comprehensions.coffee +0 -2
  52. data/packages/coffee-script/documentation/coffee/block_comment.coffee +0 -6
  53. data/packages/coffee-script/documentation/coffee/cake_tasks.coffee +0 -9
  54. data/packages/coffee-script/documentation/coffee/classes.coffee +0 -25
  55. data/packages/coffee-script/documentation/coffee/comparisons.coffee +0 -5
  56. data/packages/coffee-script/documentation/coffee/conditionals.coffee +0 -13
  57. data/packages/coffee-script/documentation/coffee/default_args.coffee +0 -8
  58. data/packages/coffee-script/documentation/coffee/do.coffee +0 -4
  59. data/packages/coffee-script/documentation/coffee/embedded.coffee +0 -5
  60. data/packages/coffee-script/documentation/coffee/existence.coffee +0 -10
  61. data/packages/coffee-script/documentation/coffee/expressions.coffee +0 -9
  62. data/packages/coffee-script/documentation/coffee/expressions_assignment.coffee +0 -3
  63. data/packages/coffee-script/documentation/coffee/expressions_comprehension.coffee +0 -3
  64. data/packages/coffee-script/documentation/coffee/expressions_try.coffee +0 -7
  65. data/packages/coffee-script/documentation/coffee/fat_arrow.coffee +0 -6
  66. data/packages/coffee-script/documentation/coffee/functions.coffee +0 -2
  67. data/packages/coffee-script/documentation/coffee/heredocs.coffee +0 -7
  68. data/packages/coffee-script/documentation/coffee/heregexes.coffee +0 -11
  69. data/packages/coffee-script/documentation/coffee/interpolation.coffee +0 -6
  70. data/packages/coffee-script/documentation/coffee/multiple_return_values.coffee +0 -7
  71. data/packages/coffee-script/documentation/coffee/object_comprehensions.coffee +0 -4
  72. data/packages/coffee-script/documentation/coffee/object_extraction.coffee +0 -13
  73. data/packages/coffee-script/documentation/coffee/objects_and_arrays.coffee +0 -19
  74. data/packages/coffee-script/documentation/coffee/objects_reserved.coffee +0 -5
  75. data/packages/coffee-script/documentation/coffee/overview.coffee +0 -28
  76. data/packages/coffee-script/documentation/coffee/parallel_assignment.coffee +0 -6
  77. data/packages/coffee-script/documentation/coffee/patterns_and_splats.coffee +0 -7
  78. data/packages/coffee-script/documentation/coffee/prototypes.coffee +0 -3
  79. data/packages/coffee-script/documentation/coffee/range_comprehensions.coffee +0 -2
  80. data/packages/coffee-script/documentation/coffee/scope.coffee +0 -5
  81. data/packages/coffee-script/documentation/coffee/slices.coffee +0 -7
  82. data/packages/coffee-script/documentation/coffee/soaks.coffee +0 -1
  83. data/packages/coffee-script/documentation/coffee/splats.coffee +0 -27
  84. data/packages/coffee-script/documentation/coffee/splices.coffee +0 -5
  85. data/packages/coffee-script/documentation/coffee/strings.coffee +0 -8
  86. data/packages/coffee-script/documentation/coffee/switch.coffee +0 -10
  87. data/packages/coffee-script/documentation/coffee/try.coffee +0 -8
  88. data/packages/coffee-script/documentation/coffee/while.coffee +0 -10
  89. data/packages/coffee-script/documentation/css/docs.css +0 -374
  90. data/packages/coffee-script/documentation/css/idle.css +0 -64
  91. data/packages/coffee-script/documentation/docs/browser.html +0 -25
  92. data/packages/coffee-script/documentation/docs/cake.html +0 -43
  93. data/packages/coffee-script/documentation/docs/coffee-script.html +0 -51
  94. data/packages/coffee-script/documentation/docs/command.html +0 -161
  95. data/packages/coffee-script/documentation/docs/docco.css +0 -186
  96. data/packages/coffee-script/documentation/docs/grammar.html +0 -399
  97. data/packages/coffee-script/documentation/docs/helpers.html +0 -31
  98. data/packages/coffee-script/documentation/docs/index.html +0 -3
  99. data/packages/coffee-script/documentation/docs/lexer.html +0 -490
  100. data/packages/coffee-script/documentation/docs/nodes.html +0 -1338
  101. data/packages/coffee-script/documentation/docs/optparse.html +0 -78
  102. data/packages/coffee-script/documentation/docs/repl.html +0 -24
  103. data/packages/coffee-script/documentation/docs/rewriter.html +0 -251
  104. data/packages/coffee-script/documentation/docs/scope.html +0 -54
  105. data/packages/coffee-script/documentation/docs/underscore.html +0 -295
  106. data/packages/coffee-script/documentation/images/background.png +0 -0
  107. data/packages/coffee-script/documentation/images/banding.png +0 -0
  108. data/packages/coffee-script/documentation/images/button_bg.png +0 -0
  109. data/packages/coffee-script/documentation/images/button_bg_dark.gif +0 -0
  110. data/packages/coffee-script/documentation/images/button_bg_green.gif +0 -0
  111. data/packages/coffee-script/documentation/images/favicon.ico +0 -0
  112. data/packages/coffee-script/documentation/images/logo.png +0 -0
  113. data/packages/coffee-script/documentation/images/screenshadow.png +0 -0
  114. data/packages/coffee-script/documentation/index.html.erb +0 -1607
  115. data/packages/coffee-script/documentation/js/aliases.js +0 -17
  116. data/packages/coffee-script/documentation/js/array_comprehensions.js +0 -6
  117. data/packages/coffee-script/documentation/js/block_comment.js +0 -4
  118. data/packages/coffee-script/documentation/js/cake_tasks.js +0 -10
  119. data/packages/coffee-script/documentation/js/classes.js +0 -44
  120. data/packages/coffee-script/documentation/js/comparisons.js +0 -3
  121. data/packages/coffee-script/documentation/js/conditionals.js +0 -12
  122. data/packages/coffee-script/documentation/js/default_args.js +0 -7
  123. data/packages/coffee-script/documentation/js/do.js +0 -10
  124. data/packages/coffee-script/documentation/js/embedded.js +0 -4
  125. data/packages/coffee-script/documentation/js/existence.js +0 -6
  126. data/packages/coffee-script/documentation/js/expressions.js +0 -15
  127. data/packages/coffee-script/documentation/js/expressions_assignment.js +0 -2
  128. data/packages/coffee-script/documentation/js/expressions_comprehension.js +0 -9
  129. data/packages/coffee-script/documentation/js/expressions_try.js +0 -7
  130. data/packages/coffee-script/documentation/js/fat_arrow.js +0 -9
  131. data/packages/coffee-script/documentation/js/functions.js +0 -7
  132. data/packages/coffee-script/documentation/js/heredocs.js +0 -2
  133. data/packages/coffee-script/documentation/js/heregexes.js +0 -2
  134. data/packages/coffee-script/documentation/js/interpolation.js +0 -4
  135. data/packages/coffee-script/documentation/js/multiple_return_values.js +0 -5
  136. data/packages/coffee-script/documentation/js/object_comprehensions.js +0 -15
  137. data/packages/coffee-script/documentation/js/object_extraction.js +0 -10
  138. data/packages/coffee-script/documentation/js/objects_and_arrays.js +0 -17
  139. data/packages/coffee-script/documentation/js/objects_reserved.js +0 -4
  140. data/packages/coffee-script/documentation/js/overview.js +0 -35
  141. data/packages/coffee-script/documentation/js/parallel_assignment.js +0 -4
  142. data/packages/coffee-script/documentation/js/patterns_and_splats.js +0 -4
  143. data/packages/coffee-script/documentation/js/prototypes.js +0 -3
  144. data/packages/coffee-script/documentation/js/range_comprehensions.js +0 -9
  145. data/packages/coffee-script/documentation/js/scope.js +0 -8
  146. data/packages/coffee-script/documentation/js/slices.js +0 -4
  147. data/packages/coffee-script/documentation/js/soaks.js +0 -2
  148. data/packages/coffee-script/documentation/js/splats.js +0 -15
  149. data/packages/coffee-script/documentation/js/splices.js +0 -3
  150. data/packages/coffee-script/documentation/js/strings.js +0 -2
  151. data/packages/coffee-script/documentation/js/switch.js +0 -23
  152. data/packages/coffee-script/documentation/js/try.js +0 -8
  153. data/packages/coffee-script/documentation/js/while.js +0 -18
  154. data/packages/coffee-script/documentation/vendor/jquery-1.4.2.js +0 -6240
  155. data/packages/coffee-script/examples/beautiful_code/binary_search.coffee +0 -16
  156. data/packages/coffee-script/examples/beautiful_code/quicksort_runtime.coffee +0 -13
  157. data/packages/coffee-script/examples/beautiful_code/regular_expression_matcher.coffee +0 -34
  158. data/packages/coffee-script/examples/blocks.coffee +0 -54
  159. data/packages/coffee-script/examples/code.coffee +0 -167
  160. data/packages/coffee-script/examples/computer_science/README +0 -4
  161. data/packages/coffee-script/examples/computer_science/binary_search.coffee +0 -25
  162. data/packages/coffee-script/examples/computer_science/bubble_sort.coffee +0 -11
  163. data/packages/coffee-script/examples/computer_science/linked_list.coffee +0 -108
  164. data/packages/coffee-script/examples/computer_science/luhn_algorithm.coffee +0 -36
  165. data/packages/coffee-script/examples/computer_science/merge_sort.coffee +0 -19
  166. data/packages/coffee-script/examples/computer_science/selection_sort.coffee +0 -23
  167. data/packages/coffee-script/examples/poignant.coffee +0 -181
  168. data/packages/coffee-script/examples/potion.coffee +0 -206
  169. data/packages/coffee-script/examples/underscore.coffee +0 -682
  170. data/packages/coffee-script/examples/web_server.coffee +0 -12
  171. data/packages/coffee-script/extras/EXTRAS +0 -7
  172. data/packages/coffee-script/extras/coffee-script.js +0 -8
  173. data/packages/coffee-script/extras/jsl.conf +0 -44
  174. data/packages/coffee-script/index.html +0 -2515
  175. data/packages/coffee-script/lib/browser.js +0 -52
  176. data/packages/coffee-script/lib/cake.js +0 -76
  177. data/packages/coffee-script/lib/coffee-script.js +0 -82
  178. data/packages/coffee-script/lib/command.js +0 -263
  179. data/packages/coffee-script/lib/grammar.js +0 -581
  180. data/packages/coffee-script/lib/helpers.js +0 -66
  181. data/packages/coffee-script/lib/index.js +0 -8
  182. data/packages/coffee-script/lib/lexer.js +0 -633
  183. data/packages/coffee-script/lib/nodes.js +0 -2165
  184. data/packages/coffee-script/lib/optparse.js +0 -111
  185. data/packages/coffee-script/lib/parser.js +0 -649
  186. data/packages/coffee-script/lib/repl.js +0 -42
  187. data/packages/coffee-script/lib/rewriter.js +0 -353
  188. data/packages/coffee-script/lib/scope.js +0 -120
  189. data/packages/coffee-script/lib/spade-format.js +0 -45
  190. data/packages/coffee-script/package.json +0 -26
  191. data/packages/coffee-script/src/browser.coffee +0 -43
  192. data/packages/coffee-script/src/cake.coffee +0 -69
  193. data/packages/coffee-script/src/coffee-script.coffee +0 -92
  194. data/packages/coffee-script/src/command.coffee +0 -214
  195. data/packages/coffee-script/src/grammar.coffee +0 -590
  196. data/packages/coffee-script/src/helpers.coffee +0 -56
  197. data/packages/coffee-script/src/index.coffee +0 -2
  198. data/packages/coffee-script/src/lexer.coffee +0 -653
  199. data/packages/coffee-script/src/nodes.coffee +0 -1754
  200. data/packages/coffee-script/src/optparse.coffee +0 -99
  201. data/packages/coffee-script/src/repl.coffee +0 -42
  202. data/packages/coffee-script/src/rewriter.coffee +0 -326
  203. data/packages/coffee-script/src/scope.coffee +0 -94
  204. data/packages/coffee-script/test/arguments.coffee +0 -127
  205. data/packages/coffee-script/test/assignment.coffee +0 -98
  206. data/packages/coffee-script/test/break.coffee +0 -18
  207. data/packages/coffee-script/test/comments.coffee +0 -201
  208. data/packages/coffee-script/test/conditionals.coffee +0 -181
  209. data/packages/coffee-script/test/exception_handling.coffee +0 -90
  210. data/packages/coffee-script/test/helpers.coffee +0 -96
  211. data/packages/coffee-script/test/importing.coffee +0 -18
  212. data/packages/coffee-script/test/operators.coffee +0 -225
  213. data/packages/coffee-script/test/ranges_slices_and_splices.coffee +0 -186
  214. data/packages/coffee-script/test/regular_expressions.coffee +0 -56
  215. data/packages/coffee-script/test/test.html +0 -123
  216. data/packages/coffee-script/test/test_chaining.coffee +0 -77
  217. data/packages/coffee-script/test/test_classes.coffee +0 -372
  218. data/packages/coffee-script/test/test_compilation.coffee +0 -26
  219. data/packages/coffee-script/test/test_comprehensions.coffee +0 -318
  220. data/packages/coffee-script/test/test_existence.coffee +0 -165
  221. data/packages/coffee-script/test/test_functions.coffee +0 -379
  222. data/packages/coffee-script/test/test_heredocs.coffee +0 -111
  223. data/packages/coffee-script/test/test_literals.coffee +0 -270
  224. data/packages/coffee-script/test/test_option_parser.coffee +0 -27
  225. data/packages/coffee-script/test/test_pattern_matching.coffee +0 -162
  226. data/packages/coffee-script/test/test_returns.coffee +0 -63
  227. data/packages/coffee-script/test/test_splats.coffee +0 -102
  228. data/packages/coffee-script/test/test_strings.coffee +0 -118
  229. data/packages/coffee-script/test/test_switch.coffee +0 -103
  230. data/packages/coffee-script/test/test_while.coffee +0 -71
  231. data/packages/ivory/LICENSE.txt +0 -1
  232. data/packages/ivory/README.md +0 -19
  233. data/packages/ivory/lib/buffer.js +0 -111
  234. data/packages/ivory/lib/events.js +0 -137
  235. data/packages/ivory/lib/fs.js +0 -266
  236. data/packages/ivory/lib/main.js +0 -13
  237. data/packages/ivory/lib/path.js +0 -158
  238. data/packages/ivory/lib/ruby/buffer.rb +0 -145
  239. data/packages/ivory/lib/ruby/constants.rb +0 -585
  240. data/packages/ivory/lib/ruby/events.rb +0 -32
  241. data/packages/ivory/lib/ruby/fs.rb +0 -245
  242. data/packages/ivory/lib/ruby/process.rb +0 -28
  243. data/packages/ivory/lib/stream.js +0 -115
  244. data/packages/ivory/lib/util.js +0 -414
  245. data/packages/ivory/package.json +0 -11
  246. data/packages/jquery/main.js +0 -7179
  247. data/packages/jquery/package.json +0 -10
  248. data/packages/json/lib/main.js +0 -14
  249. data/packages/json/package.json +0 -8
  250. data/packages/lproj/README.md +0 -77
  251. data/packages/lproj/examples/demo-app/en.lproj/localized.strings +0 -2
  252. data/packages/lproj/examples/demo-app/fr.lproj/localized.strings +0 -3
  253. data/packages/lproj/examples/demo-app/index.html +0 -8
  254. data/packages/lproj/examples/demo-app/lib/main.js +0 -7
  255. data/packages/lproj/examples/demo-app/package.json +0 -9
  256. data/packages/lproj/lib/main.js +0 -78
  257. data/packages/lproj/lib/strings-format.js +0 -6
  258. data/packages/lproj/package.json +0 -9
  259. data/packages/optparse/README.md +0 -161
  260. data/packages/optparse/TODO +0 -1
  261. data/packages/optparse/examples/browser-test.html +0 -75
  262. data/packages/optparse/examples/nodejs-test.js +0 -90
  263. data/packages/optparse/lib/optparse.js +0 -309
  264. data/packages/optparse/package.json +0 -13
  265. data/packages/optparse/seed.yml +0 -5
  266. data/packages/text/lib/main.js +0 -8
  267. data/packages/text/package.json +0 -9
  268. data/packages/web-file/README.md +0 -7
  269. data/packages/web-file/lib/errors.js +0 -32
  270. data/packages/web-file/lib/file-reader.js +0 -10
  271. data/packages/web-file/lib/file-system.js +0 -234
  272. data/packages/web-file/lib/file-writer.js +0 -10
  273. data/packages/web-file/lib/file.js +0 -9
  274. data/packages/web-file/lib/main.js +0 -34
  275. data/packages/web-file/lib/platform.js +0 -25
  276. data/packages/web-file/lib/ruby/file.rb +0 -252
  277. data/packages/web-file/lib/ruby/file_reader.rb +0 -69
  278. data/packages/web-file/lib/ruby/file_system.rb +0 -134
  279. data/packages/web-file/lib/ruby/file_writer.rb +0 -78
  280. data/packages/web-file/package.json +0 -12
  281. data/packages/web-typed-array/README.md +0 -7
  282. data/packages/web-typed-array/lib/array-buffer-view.js +0 -9
  283. data/packages/web-typed-array/lib/array-buffer.js +0 -7
  284. data/packages/web-typed-array/lib/main.js +0 -33
  285. data/packages/web-typed-array/lib/platform.js +0 -20
  286. data/packages/web-typed-array/lib/ruby/array_buffer.rb +0 -31
  287. data/packages/web-typed-array/lib/ruby/array_buffer_view.rb +0 -130
  288. data/packages/web-typed-array/lib/ruby/typed_array.rb +0 -133
  289. data/packages/web-typed-array/lib/typed-array.js +0 -26
  290. data/packages/web-typed-array/package.json +0 -9
  291. data/spec/cli/build_spec.rb +0 -59
  292. data/spec/cli/install_spec.rb +0 -120
  293. data/spec/cli/installed_spec.rb +0 -55
  294. data/spec/cli/list_spec.rb +0 -75
  295. data/spec/cli/login_spec.rb +0 -76
  296. data/spec/cli/new_spec.rb +0 -5
  297. data/spec/cli/owner_spec.rb +0 -115
  298. data/spec/cli/push_spec.rb +0 -74
  299. data/spec/cli/uninstall_spec.rb +0 -58
  300. data/spec/cli/unpack_spec.rb +0 -73
  301. data/spec/cli/unyank_spec.rb +0 -74
  302. data/spec/cli/update_spec.rb +0 -8
  303. data/spec/cli/yank_spec.rb +0 -74
  304. data/spec/credentials_spec.rb +0 -24
  305. data/spec/fixtures/coffee-1.0.1.pre.spd +0 -0
  306. data/spec/fixtures/core-test-0.4.3.spd +0 -0
  307. data/spec/fixtures/core-test/bin/cot +0 -3
  308. data/spec/fixtures/core-test/lib/main.js +0 -1
  309. data/spec/fixtures/core-test/resources/runner.css +0 -0
  310. data/spec/fixtures/core-test/tests/test.js +0 -1
  311. data/spec/fixtures/ivory-0.0.1.spd +0 -0
  312. data/spec/fixtures/jquery-1.4.3.spd +0 -0
  313. data/spec/fixtures/optparse-1.0.1.spd +0 -0
  314. data/spec/fixtures/package.json +0 -30
  315. data/spec/gauntlet_spec.rb +0 -27
  316. data/spec/javascript/async-test.js +0 -123
  317. data/spec/javascript/compiler/javascript.js +0 -13
  318. data/spec/javascript/compiler/ruby.js +0 -14
  319. data/spec/javascript/loader-test.js +0 -64
  320. data/spec/javascript/normalize-test.js +0 -73
  321. data/spec/javascript/packages-test.js +0 -44
  322. data/spec/javascript/relative-require-test.js +0 -72
  323. data/spec/javascript/require-test.js +0 -117
  324. data/spec/javascript/sandbox/compile.js +0 -37
  325. data/spec/javascript/sandbox/creation.js +0 -44
  326. data/spec/javascript/sandbox/format.js +0 -79
  327. data/spec/javascript/sandbox/misc.js +0 -57
  328. data/spec/javascript/sandbox/preprocessor.js +0 -81
  329. data/spec/javascript/sandbox/require.js +0 -48
  330. data/spec/javascript/sandbox/run-command.js +0 -21
  331. data/spec/javascript/spade/externs.js +0 -14
  332. data/spec/javascript/spade/load-factory.js +0 -15
  333. data/spec/javascript/spade/misc.js +0 -23
  334. data/spec/javascript/spade/ready.js +0 -12
  335. data/spec/javascript/spade/register.js +0 -13
  336. data/spec/javascript_spec.rb +0 -7
  337. data/spec/package_spec.rb +0 -267
  338. data/spec/spec_helper.rb +0 -30
  339. data/spec/support/cli.rb +0 -94
  340. data/spec/support/core_test.rb +0 -59
  341. data/spec/support/fake.rb +0 -44
  342. data/spec/support/fake_gem_server.rb +0 -66
  343. data/spec/support/fake_gemcutter.rb +0 -49
  344. data/spec/support/matchers.rb +0 -31
  345. data/spec/support/path.rb +0 -54
  346. data/test-spade.html +0 -8
@@ -1,81 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
-
7
- var Ct = require('core-test/sync'),
8
- Spade = require('spade').Spade,
9
- Sandbox = require('spade').Sandbox;
10
-
11
- Ct.module('spade: Sandbox preprocessor compilation');
12
-
13
- Ct.setup(function(t) {
14
- t.sandbox = new Sandbox(new Spade());
15
-
16
- t.sandbox.spade.register('commenter', {
17
- 'name': 'commenter',
18
- 'plugin:preprocessors': ['commenter/preprocessor']
19
- });
20
- t.sandbox.spade.register('commenter/preprocessor',
21
- "exports.compilePreprocessor = function(code, _, filename){ "+
22
- "return '// From '+filename+'\\n'+code; "+
23
- "};");
24
- });
25
-
26
- Ct.teardown(function(t) {
27
- delete t.sandbox;
28
- });
29
-
30
- Ct.test('normal', function(t){
31
- var pkg = t.sandbox.spade.package('commenter');
32
-
33
- t.equal(t.sandbox.compilePreprocessors('var hello = "hi";', 'test_file.js', pkg), '// From test_file.js\nvar hello = "hi";');
34
- });
35
-
36
- Ct.test('multiple', function(t){
37
- t.sandbox.spade.register('functionizer', {
38
- 'name': 'functionizer',
39
- 'dependencies': { 'commenter': '1.0' },
40
- 'plugin:preprocessors': ['functionizer/preprocessor', 'commenter/preprocessor']
41
- });
42
- t.sandbox.spade.register('functionizer/preprocessor',
43
- "exports.compilePreprocessor = function(code){ "+
44
- "return 'function(){ '+code+' };'; "+
45
- "};");
46
-
47
- var pkg = t.sandbox.spade.package('functionizer');
48
-
49
- t.equal(t.sandbox.compilePreprocessors('var hello = "hi";', 'test_file.js', pkg), '// From test_file.js\nfunction(){ var hello = "hi"; };');
50
- });
51
-
52
- Ct.test("checks dependencies", function(t){
53
- t.sandbox.spade.register('test', {
54
- 'name': 'test',
55
- 'dependencies': { 'commenter': '1.0' }
56
- });
57
-
58
- var pkg = t.sandbox.spade.package('test');
59
-
60
- t.equal(t.sandbox.compilePreprocessors('var hello = "hi";', 'test_file.js', pkg), '// From test_file.js\nvar hello = "hi";');
61
- });
62
-
63
- Ct.test("only checks immediate dependencies", function(t){
64
- t.sandbox.spade.register('intermediate', {
65
- 'name': 'intermediate',
66
- 'dependencies': { 'commenter': '1.0' }
67
- });
68
- t.sandbox.spade.register('test', {
69
- 'name': 'test',
70
- 'dependencies': { 'intermediate': '1.0' }
71
- });
72
-
73
- var pkg = t.sandbox.spade.package('test');
74
-
75
- t.equal(t.sandbox.compilePreprocessors('var hello = "hi";', 'test_file.js', pkg), 'var hello = "hi";');
76
- });
77
-
78
- Ct.test("handles preprocessor loop");
79
-
80
- Ct.test("proper order?");
81
-
@@ -1,48 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
-
7
- var Ct = require('core-test/sync'),
8
- Spade = require('spade').Spade,
9
- Sandbox = require('spade').Sandbox;
10
-
11
- Ct.module('spade: Sandbox require');
12
-
13
- Ct.setup(function(t) {
14
- t.sandbox = new Sandbox(new Spade());
15
- t.sandbox.spade.register('testing', { name: 'testing' });
16
- t.sandbox.spade.register('testing/main', "exports.hello = 'hi';");
17
- });
18
-
19
- Ct.teardown(function(t) {
20
- delete t.sandbox;
21
- });
22
-
23
- Ct.test("require new", function(t){
24
- t.equal(t.sandbox.require('testing').hello, 'hi');
25
- });
26
-
27
- // NOTE: This test doesn't necessarily tell us that anything special is happening, just that it works
28
- Ct.test("require existing", function(t){
29
- // Cache it
30
- t.sandbox.require('testing');
31
- // Now require again
32
- t.equal(t.sandbox.require('testing').hello, 'hi');
33
- });
34
-
35
- // TODO: I'm not actually sure how this should work - PW
36
- Ct.test("require circular");
37
- /*
38
- Ct.test("require circular", function(t){
39
- t.sandbox.spade.register('testing/file1', "exports.value = require('testing/file2').value * 2;");
40
- t.sandbox.spade.register('testing/file2', "exports.value = require('testing/file1').value * 2;");
41
- t.equal(t.sandbox.require('testing/file1').value, 4);
42
- });
43
- */
44
-
45
- Ct.test("throw if doesn't exist", function(t){
46
- t.throws(function(){ t.sandbox.require('missing'); }, "Module missing not found");
47
- });
48
-
@@ -1,21 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
-
7
- var Ct = require('core-test/sync'),
8
- Spade = require('spade').Spade,
9
- Sandbox = require('spade').Sandbox;
10
-
11
- Ct.module('spade: Sandbox runCommand');
12
-
13
- // TODO: Add the next 3 tests when adding Ruby and node.js support
14
- Ct.test('success');
15
-
16
- Ct.test('failure');
17
-
18
- Ct.test('not supported');
19
-
20
- // Not really sure how to test this, other than a bunch of stubbing
21
- Ct.test('browser');
@@ -1,14 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
- //
7
-
8
- var Ct = require('core-test/sync');
9
-
10
- Ct.module('spade: Spade externs');
11
-
12
- Ct.test('works');
13
-
14
-
@@ -1,15 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
- //
7
-
8
- var Ct = require('core-test/sync');
9
-
10
- Ct.module('spade: Spade loadFactory');
11
-
12
- Ct.test('works');
13
-
14
-
15
-
@@ -1,23 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
- //
7
-
8
- var Ct = require('core-test/sync');
9
-
10
- Ct.module('spade: Spade miscellaneous');
11
-
12
- Ct.test('globalize works');
13
-
14
- Ct.test('noConflict works');
15
-
16
- Ct.test('sandbox works');
17
-
18
- Ct.test('factoryExists works');
19
-
20
- Ct.test('package works');
21
-
22
-
23
-
@@ -1,12 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
- //
7
-
8
- var Ct = require('core-test/sync');
9
-
10
- Ct.module('spade: Spade ready');
11
-
12
- Ct.test('works');
@@ -1,13 +0,0 @@
1
- // ==========================================================================
2
- // Project: Spade - CommonJS Runtime
3
- // Copyright: ©2011 Strobe Inc. All rights reserved.
4
- // License: Licened under MIT license (see __preamble__.js)
5
- // ==========================================================================
6
- //
7
-
8
- var Ct = require('core-test/sync');
9
-
10
- Ct.module('spade: Spade miscellaneous');
11
-
12
- Ct.test('register works');
13
-
@@ -1,7 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "Javascript Tests" do
4
- Dir["#{File.dirname(__FILE__)}/javascript/**/*.js"].each do |path|
5
- run_core_tests(path)
6
- end
7
- end
@@ -1,267 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Spade::Package, "#to_spec" do
4
- let(:email) { "user@example.com" }
5
-
6
- before do
7
- cd(home)
8
- FileUtils.mkdir_p(home("lib"))
9
- FileUtils.mkdir_p(home("resources"))
10
- FileUtils.mkdir_p(home("tests"))
11
- end
12
-
13
- subject do
14
- package = Spade::Package.new(email)
15
- package.json_path = fixtures("package.json")
16
- if spec = package.to_spec
17
- spec
18
- else
19
- puts "Errors: #{package.errors}"
20
- nil
21
- end
22
- end
23
-
24
- it "transforms the name" do
25
- subject.name.should == "core-test"
26
- end
27
-
28
- it "transforms the version" do
29
- subject.version.should == Gem::Version.new("0.4.3")
30
- end
31
-
32
- it "transforms the author" do
33
- subject.authors.should == ["Charles Jolley"]
34
- end
35
-
36
- it "transforms the email" do
37
- subject.email.should == email
38
- end
39
-
40
- it "transforms the homepage" do
41
- subject.homepage.should == "https://github.com/strobecorp/core-test"
42
- end
43
-
44
- it "transforms the description" do
45
- subject.description.should == "Flexible testing library for JavaScript."
46
- end
47
-
48
- it "transforms the description" do
49
- subject.summary.should == "A fully featured asynchronous testing library for JavaScript, compatible with other frameworks."
50
- end
51
-
52
- it "transforms the dependencies" do
53
- subject.dependencies.map{|d| [d.name, d.requirement]}.should == [["ivory", "= 0.0.1"], ["optparse", "= 1.0.1"]]
54
- end
55
-
56
- it "packs metadata into requirements" do
57
- metadata = JSON.parse(subject.requirements.first)
58
- metadata["keywords"].should == %w[javascript testing]
59
- metadata["licenses"].should == [
60
- {"type" => "MIT",
61
- "url" => "https://github.com/strobecorp/core-test/raw/master/LICENSE"}
62
- ]
63
- metadata["engines"].should == ["browser", "all"]
64
- metadata["main"].should == "./lib/main"
65
- metadata["bin"].should == {"cot" => "./bin/cot"}
66
- end
67
-
68
- def expand_sort(files)
69
- files.map { |f| File.expand_path(f) }.sort
70
- end
71
-
72
- it "expands paths from the directories" do
73
- others = ["tmp/blah.js", "tmp/whee.txt"]
74
- files = ["bin/cot", "lib/main.js", "lib/core.js", "lib/test.js", "package.json", "resources/additions.css", "resources/runner.css"]
75
- test_files = ["tests/apis/core-test.js", "tests/system/test/assert-test.js"]
76
-
77
- FileUtils.mkdir_p(["bin/", "resources/", "lib/", "tests/apis", "tests/system/test", "tmp/"])
78
- FileUtils.touch(files + test_files + others)
79
-
80
- expand_sort(subject.files).should == expand_sort(files + test_files)
81
- expand_sort(subject.test_files).should == expand_sort(test_files)
82
- end
83
-
84
- it "hacks the file name to return .spd" do
85
- subject.file_name.should == "core-test-0.4.3.spd"
86
- end
87
-
88
- it "sets the rubyforge_project to appease older versions of rubygems" do
89
- subject.rubyforge_project.should == "spade"
90
- end
91
- end
92
-
93
- describe Spade::Package, "#to_s" do
94
- let(:email) { "user@example.com" }
95
-
96
- subject do
97
- package = Spade::Package.new
98
- package.json_path = fixtures("package.json")
99
- package.valid?
100
- package
101
- end
102
-
103
- it "gives the name and version" do
104
- subject.to_full_name.should == "core-test-0.4.3"
105
- end
106
- end
107
-
108
- describe Spade::Package, "converting" do
109
- before do
110
- cd(home)
111
- end
112
-
113
- subject do
114
- package = Spade::Package.new
115
- package.spade = fixtures("core-test-0.4.3.spd")
116
- package.as_json
117
- end
118
-
119
- it "can recreate the same package.json from the package" do
120
- subject.should == JSON.parse(File.read(fixtures("package.json")))
121
- end
122
- end
123
-
124
- describe Spade::Package, "validating" do
125
- before do
126
- cd(home)
127
- end
128
-
129
- subject { Spade::Package.new }
130
-
131
- shared_examples_for "a good parser" do
132
- it "had a problem parsing package.json" do
133
- subject.should have_error("There was a problem parsing package.json")
134
- end
135
- end
136
-
137
- context "with a blank file" do
138
- before do
139
- FileUtils.touch("package.json")
140
- subject.json_path = "package.json"
141
- end
142
- it_should_behave_like "a good parser"
143
- end
144
-
145
- context "with bad json" do
146
- before do
147
- File.open("package.json", "w") do |f|
148
- f.write "---bad json---"
149
- end
150
- subject.json_path = "package.json"
151
- end
152
- it_should_behave_like "a good parser"
153
- end
154
-
155
- context "json can't be read" do
156
- before do
157
- FileUtils.cp fixtures("package.json"), "."
158
- FileUtils.chmod 0000, "package.json"
159
- subject.json_path = "package.json"
160
- end
161
- it_should_behave_like "a good parser"
162
- end
163
-
164
- context "json can't be found" do
165
- before do
166
- subject.json_path = "package.json"
167
- end
168
- it_should_behave_like "a good parser"
169
- end
170
-
171
- end
172
-
173
- describe Spade::Package, "validation errors" do
174
- let(:email) { "user@example.com" }
175
-
176
- before do
177
- cd(home)
178
- FileUtils.mkdir_p(home("lib"))
179
- FileUtils.mkdir_p(home("tests"))
180
- end
181
-
182
- subject do
183
- Spade::Package.new(email)
184
- end
185
-
186
- def write_package
187
- path = home("package.json")
188
- package = JSON.parse(File.read(fixtures("package.json")))
189
- yield package
190
- File.open(path, "w") do |file|
191
- file.write package.to_json
192
- end
193
- subject.json_path = path
194
- end
195
-
196
- %w[name description summary homepage author version directories].each do |field|
197
- it "is invalid without a #{field} field" do
198
- write_package do |package|
199
- package.delete(field)
200
- end
201
-
202
- subject.should have_error("Package requires a '#{field}' field")
203
- end
204
-
205
- it "is invalid with a blank #{field} field" do
206
- write_package do |package|
207
- package[field] = ""
208
- end
209
-
210
- subject.should have_error("Package requires a '#{field}' field")
211
- end
212
- end
213
-
214
- it "is invalid without a proper version number" do
215
- write_package do |package|
216
- package["version"] = "bad"
217
- end
218
-
219
- subject.should have_error("Malformed version number string bad")
220
- end
221
-
222
- it "is valid without specifying a test directory" do
223
- write_package do |package|
224
- package["directories"].delete("test")
225
- end
226
-
227
- subject.should be_valid
228
- subject.to_spec.test_files.should == []
229
- end
230
-
231
- it "is valid and has files without specifying bin" do
232
- write_package do |package|
233
- package.delete("bin")
234
- end
235
-
236
- subject.should be_valid
237
- subject.to_spec.files.should == ["package.json"]
238
- end
239
-
240
- %w[lib test].each do |dir|
241
- it "is invalid without a #{dir} directory that exists" do
242
- write_package do |package|
243
- package["directories"][dir] = "nope"
244
- end
245
-
246
- subject.should have_error("'nope' specified for #{dir} directory, is not a directory")
247
- end
248
-
249
- it "is valid without a #{dir} directory that exists" do
250
- FileUtils.mkdir_p(home("somewhere", "else"))
251
- write_package do |package|
252
- package["directories"][dir] = "./somewhere/else"
253
- end
254
-
255
- subject.should be_valid
256
- end
257
-
258
- it "is invalid if #{dir} points to a file" do
259
- FileUtils.touch(home("somefile"))
260
- write_package do |package|
261
- package["directories"][dir] = "./somefile"
262
- end
263
-
264
- subject.should have_error("'./somefile' specified for #{dir} directory, is not a directory")
265
- end
266
- end
267
- end