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,76 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade login" do
4
- let(:email) { "email@example.com" }
5
- let(:password) { "secrets" }
6
- let(:api_key) { "deadbeef" }
7
- let(:creds) { spade_dir("credentials") }
8
-
9
- before do
10
- cd(home)
11
-
12
- fake = lambda { |env|
13
- [200, {"Content-Type" => "text/plain"}, [api_key]]
14
- }
15
-
16
- protected_fake = Rack::Auth::Basic.new(fake) do |user, pass|
17
- user == email && password == pass
18
- end
19
-
20
- env["HOME"] = home.to_s
21
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
22
- start_fake(protected_fake)
23
- end
24
-
25
- it "says email that user is logging in as" do
26
- spade "login"
27
- input email
28
- input password
29
- output = stdout.read
30
- output.should include("Enter your Spade credentials.")
31
- output.should include("Logging in as #{email}...")
32
- end
33
-
34
- it "makes a request out for the api key and stores it in SPADE_DIR/credentials" do
35
- spade "login"
36
- input email
37
- input password
38
-
39
- stdout.read.should include("Logged in!")
40
- File.exist?(creds).should be_true
41
- YAML.load_file(creds)[:spade_api_key].should == api_key
42
- YAML.load_file(creds)[:spade_email].should == email
43
- end
44
-
45
- it "notifies user if bad creds given" do
46
- spade "login", :track_stderr => true
47
- input email
48
- input "badpassword"
49
- sleep 1
50
- kill!
51
-
52
- stdout.read.should include("Incorrect email or password.")
53
- File.exist?(creds).should be_false
54
- end
55
-
56
- it "allows the user to retry if bad creds given" do
57
- spade "login"
58
- input "bademail@example.com"
59
- input "badpassword"
60
-
61
- input email
62
- input password
63
-
64
- output = stdout.read.split("\n").select { |line| line.size > 0 }
65
- output[0].should include("Enter your Spade credentials.")
66
- output[3].should include("Logging in as bademail@example.com...")
67
- output[4].should include("Incorrect email or password.")
68
- output[5].should include("Enter your Spade credentials.")
69
- output[8].should include("Logging in as #{email}...")
70
- output[9].should include("Logged in!")
71
-
72
- File.exist?(creds).should be_true
73
- YAML.load_file(creds)[:spade_api_key].should == api_key
74
- YAML.load_file(creds)[:spade_email].should == email
75
- end
76
- end
@@ -1,5 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade new" do
4
- it "should be speced"
5
- end
@@ -1,115 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade owner" do
4
- let(:api_key) { "deadbeef" }
5
- let(:creds) { spade_dir("credentials") }
6
-
7
- before do
8
- cd(home)
9
- env["HOME"] = home.to_s
10
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
11
- start_fake(FakeGemcutter.new(api_key))
12
- end
13
-
14
- context "with a good api key" do
15
- before do
16
- write_api_key(api_key)
17
- end
18
-
19
- it "registers new owners if package is owned" do
20
- spade "owner", "add", "rake", "geddy@example.com"
21
-
22
- stdout.read.should include("Owner added successfully.")
23
- end
24
-
25
- it "removes owners if package is owned" do
26
- spade "owner", "remove", "rake", "geddy@example.com"
27
-
28
- stdout.read.should include("Owner removed successfully.")
29
- end
30
-
31
- it "lists owners for a gem" do
32
- spade "owner", "list", "rake"
33
-
34
- stdout.read.should == <<EOF
35
- Owners for package: rake
36
- - geddy@example.com
37
- - lerxst@example.com
38
- EOF
39
- end
40
- end
41
-
42
- context "with wrong api key" do
43
- before do
44
- write_api_key("beefbeef")
45
- end
46
-
47
- it "shows rejection message for add if wrong api key is supplied" do
48
- spade "owner", "add", "rake", "geddy@example.com"
49
-
50
- stdout.read.should include("One cannot simply walk into Mordor!")
51
- end
52
-
53
- it "shows rejection message for remove if wrong api key is supplied" do
54
- spade "owner", "remove", "rake", "geddy@example.com"
55
-
56
- stdout.read.should include("One cannot simply walk into Mordor!")
57
- end
58
-
59
- it "shows rejection message for list if wrong api key is supplied" do
60
- spade "owner", "list", "rake"
61
-
62
- stdout.read.should include("One cannot simply walk into Mordor!")
63
- end
64
- end
65
- end
66
-
67
- describe "spade owner with wrong arguments" do
68
- before do
69
- cd(home)
70
- env["HOME"] = home.to_s
71
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
72
- end
73
-
74
- it "asks for login first if api key does not exist" do
75
- spade "owner", "add", "rake", "geddy@example.com", :track_stderr => true
76
-
77
- stderr.read.should include("Please login first with `spade login`")
78
- end
79
-
80
- it "asks for login first if api key does not exist" do
81
- spade "owner", "remove", "rake", "geddy@example.com", :track_stderr => true
82
-
83
- stderr.read.should include("Please login first with `spade login`")
84
- end
85
-
86
- it "asks for login first if api key does not exist" do
87
- spade "owner", "list", "rake", :track_stderr => true
88
-
89
- stderr.read.should include("Please login first with `spade login`")
90
- end
91
-
92
- it "requires a package name for add" do
93
- spade "owner", "add", :track_stderr => true
94
-
95
- stderr.read.should include("called incorrectly")
96
- end
97
-
98
- it "requires a package name for remove" do
99
- spade "owner", "remove", :track_stderr => true
100
-
101
- stderr.read.should include("called incorrectly")
102
- end
103
-
104
- it "requires a package name for list" do
105
- spade "owner", "list", :track_stderr => true
106
-
107
- stderr.read.should include("called incorrectly")
108
- end
109
-
110
- it "requires a package name for list with default command" do
111
- spade "owner", :track_stderr => true
112
-
113
- stderr.read.should include("called incorrectly")
114
- end
115
- end
@@ -1,74 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade push" do
4
- let(:api_key) { "deadbeef" }
5
- let(:creds) { spade_dir("credentials") }
6
-
7
- before do
8
- cd(home)
9
- env["HOME"] = home.to_s
10
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
11
- start_fake(FakeGemcutter.new(api_key))
12
- end
13
-
14
- context "with a good api key" do
15
- before do
16
- write_api_key(api_key)
17
- end
18
-
19
- it "registers a gem when sent with the right api key" do
20
- spade "push", "../../spec/fixtures/rake-0.8.7.gem"
21
-
22
- stdout.read.should include("Successfully registered rake (0.8.7)")
23
- end
24
- end
25
-
26
- it "shows rejection message if wrong api key is supplied" do
27
- write_api_key("beefbeef")
28
-
29
- spade "push", "../../spec/fixtures/rake-0.8.7.gem"
30
-
31
- stdout.read.should include("One cannot simply walk into Mordor!")
32
- end
33
- end
34
-
35
- describe "spade push without api key" do
36
- before do
37
- cd(home)
38
- env["HOME"] = home.to_s
39
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
40
- write_api_key("beefbeef")
41
- end
42
-
43
- it "ignores files that don't exist" do
44
- spade "push", "rake-1.0.0.gem"
45
-
46
- stdout.read.should include("No such file")
47
- end
48
-
49
- it "must push a valid gem" do
50
- spade "push", "../../spec/fixtures/badrake-0.8.7.gem"
51
-
52
- stdout.read.should include("There was a problem opening your package.")
53
- end
54
-
55
- it "does not allow pushing of random files" do
56
- spade "push", "../../Rakefile"
57
-
58
- stdout.read.should include("There was a problem opening your package.")
59
- end
60
- end
61
-
62
- describe "spade push without api key" do
63
- before do
64
- cd(home)
65
- env["HOME"] = home.to_s
66
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
67
- end
68
-
69
- it "asks for login first if api key does not exist" do
70
- spade "push", "../../spec/fixtures/rake-0.8.7.gem"
71
-
72
- stdout.read.should include("Please login first with `spade login`")
73
- end
74
- end
@@ -1,58 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade uninstall" do
4
- before do
5
- cd(home)
6
- env["HOME"] = home.to_s
7
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
8
- env["GEM_HOME"] = spade_dir.to_s
9
- env["GEM_PATH"] = spade_dir.to_s
10
- start_fake(FakeGemServer.new)
11
- end
12
-
13
- it "uninstalls a gem" do
14
- spade "install", "rake"
15
- wait
16
- spade "uninstall", "rake"
17
-
18
- stdout.read.should include("Successfully uninstalled rake-0.8.7")
19
- "rake-0.8.7".should_not be_fetched
20
- "rake-0.8.7".should_not be_unpacked
21
- end
22
-
23
- it "uninstalls multiple packages" do
24
- spade "install", "rake", "highline"
25
- wait
26
- spade "uninstall", "rake", "highline"
27
-
28
- output = stdout.read
29
- output.should include("Successfully uninstalled rake-0.8.7")
30
- output.should include("Successfully uninstalled highline-1.6.1")
31
-
32
- "rake-0.8.7".should_not be_fetched
33
- "rake-0.8.7".should_not be_unpacked
34
- "highline-1.6.1".should_not be_fetched
35
- "highline-1.6.1".should_not be_unpacked
36
- end
37
-
38
- it "requires at least one package to uninstall" do
39
- spade "uninstall", :track_stderr => true
40
- stderr.read.should include("called incorrectly")
41
- end
42
-
43
- it "fails when a package is not found" do
44
- spade "uninstall", "webscale", :track_stderr => true
45
- stderr.read.should include(%{No packages installed named "webscale"})
46
- end
47
-
48
- it "will attempt to uninstall packages even when nonexisting one is given" do
49
- spade "install", "rake", "highline"
50
- wait
51
- spade "uninstall", "rake", "webscale", :track_stderr => true
52
-
53
- stdout.read.should include("Successfully uninstalled rake-0.8.7")
54
- "rake-0.8.7".should_not be_fetched
55
- "rake-0.8.7".should_not be_unpacked
56
- stderr.read.should include(%{No packages installed named "webscale"})
57
- end
58
- end
@@ -1,73 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade unpack" do
4
- before do
5
- cd(home)
6
- env["HOME"] = home.to_s
7
- end
8
-
9
- it "builds a gem from a given package.json" do
10
- FileUtils.cp fixtures("coffee-1.0.1.pre.spd"), "."
11
- spade "unpack", "coffee-1.0.1.pre.spd"
12
-
13
- exit_status.should be_success
14
- output = stdout.read
15
- output.should include("Unpacked spade into: #{Dir.pwd}/coffee-1.0.1.pre")
16
-
17
- home("coffee-1.0.1.pre/bin/coffee").should exist
18
- home("coffee-1.0.1.pre/lib/coffee.js").should exist
19
- home("coffee-1.0.1.pre/lib/coffee/base.js").should exist
20
- home("coffee-1.0.1.pre/lib/coffee/mocha/chai.js").should exist
21
- home("coffee-1.0.1.pre/qunit/coffee/test.js").should exist
22
- home("coffee-1.0.1.pre/qunit/test.js").should exist
23
- end
24
-
25
- it "can unpack to a different directory" do
26
- FileUtils.cp fixtures("coffee-1.0.1.pre.spd"), "."
27
- spade "unpack", "coffee-1.0.1.pre.spd", "--target", "star/bucks"
28
-
29
- exit_status.should be_success
30
- output = stdout.read
31
- output.should include("Unpacked spade into: #{Dir.pwd}/star/bucks/coffee-1.0.1.pre")
32
-
33
- home("star/bucks/coffee-1.0.1.pre/bin/coffee").should exist
34
- end
35
-
36
- it "can unpack more than one spade" do
37
- FileUtils.cp fixtures("coffee-1.0.1.pre.spd"), "."
38
- FileUtils.cp fixtures("jquery-1.4.3.spd"), "."
39
- spade "unpack", "coffee-1.0.1.pre.spd", "jquery-1.4.3.spd"
40
-
41
- exit_status.should be_success
42
- output = stdout.read
43
- output.should include("Unpacked spade into: #{Dir.pwd}/coffee-1.0.1.pre")
44
- output.should include("Unpacked spade into: #{Dir.pwd}/jquery-1.4.3")
45
-
46
- home("coffee-1.0.1.pre/bin/coffee").should exist
47
- home("jquery-1.4.3/main.js").should exist
48
- end
49
-
50
- it "shows a friendly error message if spade can't write to the given directory" do
51
- FileUtils.mkdir_p(home("bad"))
52
- cd(home("bad"))
53
- FileUtils.cp fixtures("jquery-1.4.3.spd"), "."
54
- FileUtils.chmod 0555, "."
55
- spade "unpack", "jquery-1.4.3.spd", :track_stderr => true
56
-
57
- exit_status.should_not be_success
58
- output = stderr.read
59
- output.should include("There was a problem unpacking jquery-1.4.3.spd:")
60
- output.should include("Permission denied")
61
- end
62
-
63
- it "shows a friendly error message if spade can't read the package" do
64
- FileUtils.cp fixtures("jquery-1.4.3.spd"), "."
65
- FileUtils.chmod 0000, "jquery-1.4.3.spd"
66
- spade "unpack", "jquery-1.4.3.spd", :track_stderr => true
67
-
68
- exit_status.should_not be_success
69
- output = stderr.read
70
- output.should include("There was a problem unpacking jquery-1.4.3.spd:")
71
- output.should include("Permission denied")
72
- end
73
- end
@@ -1,74 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "spade unyank" do
4
- let(:api_key) { "deadbeef" }
5
- let(:creds) { spade_dir("credentials") }
6
-
7
- before do
8
- cd(home)
9
- env["HOME"] = home.to_s
10
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
11
- start_fake(FakeGemcutter.new(api_key))
12
- end
13
-
14
- context "with a good api key" do
15
- before do
16
- write_api_key(api_key)
17
- end
18
-
19
- it "unyanks a gem when sent with the right api key" do
20
- spade "yank", "core-test", "--undo", "-v", "1.4.3"
21
-
22
- stdout.read.should include("Successfully unyanked gem: core-test (1.4.3)")
23
- end
24
-
25
- it "must unyank a valid gem" do
26
- spade "yank", "blahblah", "--undo", "-v", "0.0.1"
27
-
28
- stdout.read.should include("This gem could not be found")
29
- end
30
-
31
- it "does not unyank and indexed gem" do
32
- spade "yank", "core-test", "--undo", "-v", "2.4.3"
33
-
34
- stdout.read.should include("The version 2.4.3 is already indexed.")
35
- end
36
- end
37
-
38
- it "shows rejection message if wrong api key is supplied" do
39
- write_api_key("beefbeef")
40
-
41
- spade "yank", "core-test", "--undo", "-v", "1.4.3"
42
-
43
- stdout.read.should include("One cannot simply walk into Mordor!")
44
- end
45
- end
46
-
47
- describe "spade unyank with invalid api key" do
48
- before do
49
- cd(home)
50
- env["HOME"] = home.to_s
51
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
52
- write_api_key("beefbeef")
53
- end
54
-
55
- it "must require a version" do
56
- spade "yank", "core-test", "--undo"
57
-
58
- stdout.read.should include("Version required")
59
- end
60
- end
61
-
62
- describe "spade unyank without api key" do
63
- before do
64
- cd(home)
65
- env["HOME"] = home.to_s
66
- env["RUBYGEMS_HOST"] = "http://localhost:9292"
67
- end
68
-
69
- it "asks for login first if api key does not exist" do
70
- spade "yank", "core-test", "-v", "1.4.3", "--undo"
71
-
72
- stdout.read.should include("Please login first with `spade login`")
73
- end
74
- end