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,30 +0,0 @@
1
- require 'spade'
2
-
3
- require 'logger'
4
- require 'rubygems/format'
5
-
6
- Bundler.require :default, :development
7
-
8
- require 'support/cli'
9
- require 'support/core_test'
10
- require 'support/fake'
11
- require 'support/fake_gemcutter'
12
- require 'support/fake_gem_server'
13
- require 'support/matchers'
14
- require 'support/path'
15
-
16
- RSpec.configure do |config|
17
- working_dir = Dir.pwd
18
-
19
- config.include SpecHelpers
20
-
21
- config.around do |blk|
22
- reset!
23
-
24
- blk.call
25
-
26
- kill!
27
- stop_fake
28
- Dir.chdir working_dir if Dir.pwd != working_dir
29
- end
30
- end
@@ -1,94 +0,0 @@
1
- module SpecHelpers
2
- attr_reader :stdin, :stdout, :stderr
3
-
4
- def env
5
- @env ||= {}
6
- end
7
-
8
- def spade(*argv)
9
- opts = Hash === argv.last ? argv.pop : {}
10
-
11
- kill!
12
- create_pipes
13
-
14
- @pid = Process.fork do
15
- Dir.chdir opts[:chdir] if opts[:chdir]
16
-
17
- @stdout.close
18
- STDOUT.reopen @stdout_child
19
-
20
- @stdin.close
21
- STDIN.reopen @stdin_child
22
-
23
- if opts[:track_stderr]
24
- @stderr.close
25
- STDERR.reopen @stderr_child
26
- end
27
-
28
- env.each do |key, val|
29
- ENV[key] = val
30
- end
31
-
32
- Spade::CLI::Base.start(argv)
33
- end
34
-
35
- @stdout_child.close
36
- @stdin_child.close
37
- @stderr_child.close
38
- @pid
39
- end
40
-
41
- def out_until_block(io = stdout)
42
- # read 1 first so we wait until the process is done processing the last write
43
- chars = io.read(1)
44
-
45
- loop do
46
- chars << io.read_nonblock(1000)
47
- sleep 0.05
48
- end
49
- rescue Errno::EAGAIN, EOFError
50
- chars
51
- end
52
-
53
- def input(line, opts = {})
54
- if on = opts[:on]
55
- should_block_on on
56
- end
57
- stdin << "#{line}\n"
58
- end
59
-
60
- def wait
61
- return unless @pid
62
-
63
- pid, status = Process.wait2(@pid, 0)
64
-
65
- @exit_status = status
66
- @pid = nil
67
- end
68
-
69
- def exit_status
70
- wait
71
- @exit_status
72
- end
73
-
74
- def kill!
75
- Process.kill(9, @pid) if @pid
76
- end
77
-
78
- def create_pipes
79
- @stdout, @stdout_child = IO.pipe
80
- @stdin_child, @stdin = IO.pipe
81
- @stderr, @stderr_child = IO.pipe
82
- end
83
-
84
- def write_api_key(api_key)
85
- write_creds("user@example.com", api_key)
86
- end
87
-
88
- def write_creds(email, api_key)
89
- FileUtils.mkdir_p(spade_dir)
90
- File.open(spade_dir("credentials"), "w") do |file|
91
- file.write YAML.dump(:spade_api_key => api_key, :spade_email => email)
92
- end
93
- end
94
- end
@@ -1,59 +0,0 @@
1
- RSpec::Matchers.define :be_ct_success do
2
- match do |actual|
3
- actual.first == 'passed'
4
- end
5
-
6
- failure_message_for_should do |actual|
7
- actual.last
8
- end
9
-
10
- failure_message_for_should_not do |actual|
11
- "expected not to be a success"
12
- end
13
-
14
- description do
15
- "be a success"
16
- end
17
- end
18
-
19
- module RSpecCoreTest
20
- def run_core_tests(path, &block)
21
- describe "#{path}" do
22
- rootdir = File.expand_path(File.join(__FILE__, '/../../../'));
23
- context = Spade::MainContext.new(:rootdir => rootdir) do |ctx|
24
- ctx['checkRSpec'] = lambda do |status, test_info, message|
25
- it "#{test_info.module.name}: #{test_info.name}" do
26
- if status == 'warnings' && message == "Not Yet Implemented"
27
- pending
28
- else
29
- [status.to_s, message.to_s].should be_ct_success
30
- end
31
- end
32
- end
33
-
34
- ctx.eval <<END
35
- var Ct;
36
- try {
37
- Ct = require('core-test');
38
- } catch (e) { }
39
-
40
- if (Ct) {
41
- RubyLogger = require('core-test/utils').extend(Ct.NodeLogger, {
42
- add: function(status, testInfo, message){
43
- checkRSpec(status, testInfo, message);
44
- }
45
- });
46
- Ct.defaultLogger = new RubyLogger('ruby');
47
-
48
- require('file:#{path}');
49
-
50
- Ct.run();
51
- } else {
52
- console.log("CoreTest is not installed. Use `spade install core-test`.");
53
- }
54
- END
55
- end
56
- end
57
- end
58
- end
59
- RSpec::Core::ExampleGroup.extend(RSpecCoreTest)
@@ -1,44 +0,0 @@
1
- require 'rack'
2
-
3
- module SpecHelpers
4
- class Fake
5
- def call(env)
6
- [200, {"Content-Type" => "text/plain"}, ["Hello world!"]]
7
- end
8
- end
9
-
10
- def start_fake(app)
11
- uri = URI.parse("http://localhost:9292/")
12
- raise "Server already running on 9292" if uri_active?(uri)
13
-
14
- @fake_pid = Process.fork do
15
- logger = Logger.new(StringIO.new)
16
- Rack::Handler::WEBrick.run(app, :Port => 9292, :Logger => logger, :AccessLog => [[logger, WEBrick::AccessLog::COMBINED_LOG_FORMAT]])
17
- end
18
- ready = false
19
- until ready
20
- if uri_active?(uri)
21
- ready = true
22
- else
23
- print "-" if ENV["VERBOSE"]
24
- end
25
- end
26
- end
27
-
28
- def stop_fake
29
- Process.kill(9, @fake_pid) if @fake_pid
30
- end
31
-
32
- private
33
-
34
- def uri_active?(uri)
35
- begin
36
- timeout(1) do
37
- Net::HTTP.get_response(uri)
38
- end
39
- true
40
- rescue Exception => ex
41
- false
42
- end
43
- end
44
- end
@@ -1,66 +0,0 @@
1
- class FakeGemServer
2
- include SpecHelpers
3
-
4
- def index(name, version)
5
- [name, Gem::Version.new(version), "ruby"]
6
- end
7
-
8
- def call(env)
9
- request = Rack::Request.new(env)
10
-
11
- if request.path =~ /latest_specs/
12
- latest_index = [
13
- index("builder", "3.0.0"),
14
- index("highline", "1.6.1"),
15
- index("rake", "0.8.7"),
16
- index("core-test", "0.4.3"),
17
- index("ivory", "0.0.1"),
18
- index("optparse", "1.0.1")
19
- ]
20
- [200, {"Content-Type" => "application/octet-stream"}, compress(latest_index)]
21
- elsif request.path =~ /prerelease_specs/
22
- prerelease_index = [
23
- index("bundler", "1.1.pre")
24
- ]
25
- [200, {"Content-Type" => "application/octet-stream"}, compress(prerelease_index)]
26
- elsif request.path =~ /specs/
27
- big_index = [
28
- index("builder", "3.0.0"),
29
- index("highline", "1.6.1"),
30
- index("rake", "0.8.7"),
31
- index("rake", "0.8.6"),
32
- index("core-test", "0.4.3"),
33
- index("ivory", "0.0.1"),
34
- index("optparse", "1.0.1")
35
- ]
36
- [200, {"Content-Type" => "application/octet-stream"}, compress(big_index)]
37
- elsif request.path =~ /\/quick\/Marshal\.4\.8\/(.*)\.gemspec\.rz$/
38
-
39
- spec = Gem::Format.from_file_by_path(gem_or_spade($1).to_s).spec
40
- value = Gem.deflate(Marshal.dump(spec))
41
-
42
- [200, {"Content-Type" => "application/octet-stream"}, value]
43
- elsif request.path =~ /\/gems\/(.*)\.gem$/
44
- [200, {"Content-Type" => "application/octet-stream"}, File.read(gem_or_spade($1))]
45
- else
46
- [200, {"Content-Type" => "text/plain"}, "fake gem server"]
47
- end
48
- end
49
-
50
- def compress(index)
51
- compressed = StringIO.new
52
- gzip = Zlib::GzipWriter.new(compressed)
53
- gzip.write(Marshal.dump(index))
54
- gzip.close
55
- compressed.string
56
- end
57
-
58
- private
59
-
60
- def gem_or_spade(name)
61
- fixture = fixtures("#{name}.gem")
62
- fixture = fixtures("#{name}.spd") unless File.exist?(fixture)
63
- fixture
64
- end
65
-
66
- end
@@ -1,49 +0,0 @@
1
- class FakeGemcutter
2
- def initialize(api_key)
3
- @api_key = api_key
4
- end
5
-
6
- def respond(code, text)
7
- [code, {"Content-Type" => "text/plain"}, text]
8
- end
9
-
10
- def call(env)
11
- request = Rack::Request.new(env)
12
-
13
- if request.env["HTTP_AUTHORIZATION"] != @api_key
14
- respond 401, "One cannot simply walk into Mordor!"
15
- elsif request.path == "/api/v1/gems" && request.post?
16
- respond 200, "Successfully registered rake (0.8.7)"
17
- elsif request.path == "/api/v1/gems/yank" && request.delete?
18
- version = request.params["version"].to_i
19
- if version < 1
20
- respond 404, "This gem could not be found"
21
- elsif version < 2
22
- respond 200, "Successfully yanked gem: #{request.params["gem_name"]} (#{request.params["version"]})"
23
- else
24
- respond 500, "The version #{request.params["version"]} has already been yanked."
25
- end
26
- elsif request.path == "/api/v1/gems/unyank" && request.put?
27
- version = request.params["version"].to_i
28
- if version < 1
29
- respond 404, "This gem could not be found"
30
- elsif version < 2
31
- respond 200, "Successfully unyanked gem: #{request.params["gem_name"]} (#{request.params["version"]})"
32
- else
33
- respond 500, "The version #{request.params["version"]} is already indexed."
34
- end
35
- elsif request.path == "/api/v1/gems/rake/owners"
36
- if request.post?
37
- respond 200, "Owner added successfully."
38
- elsif request.delete?
39
- respond 200, "Owner removed successfully."
40
- end
41
- elsif request.path == "/api/v1/gems/rake/owners.yaml" && request.get?
42
- yaml = YAML.dump([{'email' => 'geddy@example.com'},
43
- {'email' => 'lerxst@example.com'}])
44
- respond(200, yaml)
45
- else
46
- respond(404, "Invalid request")
47
- end
48
- end
49
- end
@@ -1,31 +0,0 @@
1
- RSpec::Matchers.define :be_fetched do
2
- include SpecHelpers
3
- match do |name|
4
- File.exist?(spade_dir("cache", "#{name}.gem")) == true
5
- end
6
- end
7
-
8
- RSpec::Matchers.define :be_unpacked do
9
- match do |name|
10
- File.directory?(spade_dir("gems", name)) == true
11
- end
12
- end
13
-
14
- RSpec::Matchers.define :exist do
15
- match do |name|
16
- File.exist?(name) == true
17
- end
18
- end
19
-
20
- RSpec::Matchers.define :have_error do |error|
21
- match do |package|
22
- package.valid? == false &&
23
- package.errors.size.should == 1 &&
24
- package.errors.first.include?(error) == true
25
- end
26
- end
27
-
28
- # Make sure matchers can get to the path helpers
29
- class RSpec::Matchers::Matcher
30
- include SpecHelpers
31
- end
@@ -1,54 +0,0 @@
1
- module SpecHelpers
2
- def reset!
3
- FileUtils.rm_rf tmp
4
- [ home, local ].each do |dir|
5
- FileUtils.mkdir_p(dir)
6
- end
7
- end
8
-
9
- def cd(path, &blk)
10
- Dir.chdir(path, &blk)
11
- end
12
-
13
- def cwd(*args)
14
- Pathname.new(Dir.pwd).join(*args)
15
- end
16
-
17
- def rm(path)
18
- FileUtils.rm path
19
- end
20
-
21
- def rm_r(path)
22
- FileUtils.rm_r path
23
- end
24
-
25
- def rm_rf(path)
26
- FileUtils.rm_rf(path)
27
- end
28
-
29
- def root
30
- @root ||= Pathname.new(File.expand_path("../../..", __FILE__))
31
- end
32
-
33
- def fixtures(*path)
34
- root.join('spec/fixtures', *path)
35
- end
36
-
37
- def tmp(*path)
38
- root.join("tmp", *path)
39
- end
40
-
41
- def home(*path)
42
- tmp.join("home", *path)
43
- end
44
-
45
- def local(*path)
46
- tmp.join("local", *path)
47
- end
48
-
49
- def spade_dir(*path)
50
- home(Spade::SPADE_DIR, *path)
51
- end
52
-
53
- module_function :root, :tmp, :home, :local
54
- end
@@ -1,8 +0,0 @@
1
- <html>
2
- <head>
3
- <script src="spade-boot.js" data-require="spade/~tests/ct-runner"></script>
4
- </head>
5
- <body>
6
- <h1>Spade Unit Tests</h1>
7
- </body>
8
- </html>