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.
- data/.gitignore +0 -1
- data/.gitmodules +4 -4
- data/README.md +4 -0
- data/bin/spade +1 -1
- data/lib/spade.rb +0 -51
- data/lib/spade/cli.rb +10 -4
- data/lib/spade/version.rb +1 -1
- data/spade.gemspec +4 -21
- metadata +13 -482
- data/Gemfile +0 -3
- data/Gemfile.lock +0 -40
- data/lib/index.js +0 -14
- data/lib/node/loader.js +0 -146
- data/lib/node/sandbox.js +0 -44
- data/lib/spade.js +0 -1130
- data/lib/spade/bundle.rb +0 -171
- data/lib/spade/cli/base.rb +0 -354
- data/lib/spade/cli/owner.rb +0 -45
- data/lib/spade/cli/project_generator.rb +0 -58
- data/lib/spade/compiler.rb +0 -34
- data/lib/spade/console.rb +0 -39
- data/lib/spade/context.rb +0 -116
- data/lib/spade/credentials.rb +0 -36
- data/lib/spade/dependency_installer.rb +0 -103
- data/lib/spade/environment.rb +0 -35
- data/lib/spade/exports.rb +0 -71
- data/lib/spade/installer.rb +0 -40
- data/lib/spade/loader.rb +0 -238
- data/lib/spade/local.rb +0 -46
- data/lib/spade/package.rb +0 -157
- data/lib/spade/reactor.rb +0 -159
- data/lib/spade/remote.rb +0 -99
- data/lib/spade/repository.rb +0 -18
- data/lib/spade/server.rb +0 -66
- data/lib/spade/shell.rb +0 -36
- data/lib/spade/templates/project/LICENSE +0 -19
- data/lib/spade/templates/project/README.md +0 -21
- data/lib/spade/templates/project/lib/main.js +0 -9
- data/lib/spade/templates/project/project.json +0 -31
- data/lib/spade/templates/project/tests/main-test.js +0 -8
- data/package.json +0 -27
- data/packages/coffee-script/.gitignore +0 -8
- data/packages/coffee-script/.npmignore +0 -11
- data/packages/coffee-script/Cakefile +0 -229
- data/packages/coffee-script/LICENSE +0 -22
- data/packages/coffee-script/README +0 -47
- data/packages/coffee-script/Rakefile +0 -78
- data/packages/coffee-script/bin/cake +0 -7
- data/packages/coffee-script/bin/coffee +0 -7
- data/packages/coffee-script/documentation/coffee/aliases.coffee +0 -11
- data/packages/coffee-script/documentation/coffee/array_comprehensions.coffee +0 -2
- data/packages/coffee-script/documentation/coffee/block_comment.coffee +0 -6
- data/packages/coffee-script/documentation/coffee/cake_tasks.coffee +0 -9
- data/packages/coffee-script/documentation/coffee/classes.coffee +0 -25
- data/packages/coffee-script/documentation/coffee/comparisons.coffee +0 -5
- data/packages/coffee-script/documentation/coffee/conditionals.coffee +0 -13
- data/packages/coffee-script/documentation/coffee/default_args.coffee +0 -8
- data/packages/coffee-script/documentation/coffee/do.coffee +0 -4
- data/packages/coffee-script/documentation/coffee/embedded.coffee +0 -5
- data/packages/coffee-script/documentation/coffee/existence.coffee +0 -10
- data/packages/coffee-script/documentation/coffee/expressions.coffee +0 -9
- data/packages/coffee-script/documentation/coffee/expressions_assignment.coffee +0 -3
- data/packages/coffee-script/documentation/coffee/expressions_comprehension.coffee +0 -3
- data/packages/coffee-script/documentation/coffee/expressions_try.coffee +0 -7
- data/packages/coffee-script/documentation/coffee/fat_arrow.coffee +0 -6
- data/packages/coffee-script/documentation/coffee/functions.coffee +0 -2
- data/packages/coffee-script/documentation/coffee/heredocs.coffee +0 -7
- data/packages/coffee-script/documentation/coffee/heregexes.coffee +0 -11
- data/packages/coffee-script/documentation/coffee/interpolation.coffee +0 -6
- data/packages/coffee-script/documentation/coffee/multiple_return_values.coffee +0 -7
- data/packages/coffee-script/documentation/coffee/object_comprehensions.coffee +0 -4
- data/packages/coffee-script/documentation/coffee/object_extraction.coffee +0 -13
- data/packages/coffee-script/documentation/coffee/objects_and_arrays.coffee +0 -19
- data/packages/coffee-script/documentation/coffee/objects_reserved.coffee +0 -5
- data/packages/coffee-script/documentation/coffee/overview.coffee +0 -28
- data/packages/coffee-script/documentation/coffee/parallel_assignment.coffee +0 -6
- data/packages/coffee-script/documentation/coffee/patterns_and_splats.coffee +0 -7
- data/packages/coffee-script/documentation/coffee/prototypes.coffee +0 -3
- data/packages/coffee-script/documentation/coffee/range_comprehensions.coffee +0 -2
- data/packages/coffee-script/documentation/coffee/scope.coffee +0 -5
- data/packages/coffee-script/documentation/coffee/slices.coffee +0 -7
- data/packages/coffee-script/documentation/coffee/soaks.coffee +0 -1
- data/packages/coffee-script/documentation/coffee/splats.coffee +0 -27
- data/packages/coffee-script/documentation/coffee/splices.coffee +0 -5
- data/packages/coffee-script/documentation/coffee/strings.coffee +0 -8
- data/packages/coffee-script/documentation/coffee/switch.coffee +0 -10
- data/packages/coffee-script/documentation/coffee/try.coffee +0 -8
- data/packages/coffee-script/documentation/coffee/while.coffee +0 -10
- data/packages/coffee-script/documentation/css/docs.css +0 -374
- data/packages/coffee-script/documentation/css/idle.css +0 -64
- data/packages/coffee-script/documentation/docs/browser.html +0 -25
- data/packages/coffee-script/documentation/docs/cake.html +0 -43
- data/packages/coffee-script/documentation/docs/coffee-script.html +0 -51
- data/packages/coffee-script/documentation/docs/command.html +0 -161
- data/packages/coffee-script/documentation/docs/docco.css +0 -186
- data/packages/coffee-script/documentation/docs/grammar.html +0 -399
- data/packages/coffee-script/documentation/docs/helpers.html +0 -31
- data/packages/coffee-script/documentation/docs/index.html +0 -3
- data/packages/coffee-script/documentation/docs/lexer.html +0 -490
- data/packages/coffee-script/documentation/docs/nodes.html +0 -1338
- data/packages/coffee-script/documentation/docs/optparse.html +0 -78
- data/packages/coffee-script/documentation/docs/repl.html +0 -24
- data/packages/coffee-script/documentation/docs/rewriter.html +0 -251
- data/packages/coffee-script/documentation/docs/scope.html +0 -54
- data/packages/coffee-script/documentation/docs/underscore.html +0 -295
- data/packages/coffee-script/documentation/images/background.png +0 -0
- data/packages/coffee-script/documentation/images/banding.png +0 -0
- data/packages/coffee-script/documentation/images/button_bg.png +0 -0
- data/packages/coffee-script/documentation/images/button_bg_dark.gif +0 -0
- data/packages/coffee-script/documentation/images/button_bg_green.gif +0 -0
- data/packages/coffee-script/documentation/images/favicon.ico +0 -0
- data/packages/coffee-script/documentation/images/logo.png +0 -0
- data/packages/coffee-script/documentation/images/screenshadow.png +0 -0
- data/packages/coffee-script/documentation/index.html.erb +0 -1607
- data/packages/coffee-script/documentation/js/aliases.js +0 -17
- data/packages/coffee-script/documentation/js/array_comprehensions.js +0 -6
- data/packages/coffee-script/documentation/js/block_comment.js +0 -4
- data/packages/coffee-script/documentation/js/cake_tasks.js +0 -10
- data/packages/coffee-script/documentation/js/classes.js +0 -44
- data/packages/coffee-script/documentation/js/comparisons.js +0 -3
- data/packages/coffee-script/documentation/js/conditionals.js +0 -12
- data/packages/coffee-script/documentation/js/default_args.js +0 -7
- data/packages/coffee-script/documentation/js/do.js +0 -10
- data/packages/coffee-script/documentation/js/embedded.js +0 -4
- data/packages/coffee-script/documentation/js/existence.js +0 -6
- data/packages/coffee-script/documentation/js/expressions.js +0 -15
- data/packages/coffee-script/documentation/js/expressions_assignment.js +0 -2
- data/packages/coffee-script/documentation/js/expressions_comprehension.js +0 -9
- data/packages/coffee-script/documentation/js/expressions_try.js +0 -7
- data/packages/coffee-script/documentation/js/fat_arrow.js +0 -9
- data/packages/coffee-script/documentation/js/functions.js +0 -7
- data/packages/coffee-script/documentation/js/heredocs.js +0 -2
- data/packages/coffee-script/documentation/js/heregexes.js +0 -2
- data/packages/coffee-script/documentation/js/interpolation.js +0 -4
- data/packages/coffee-script/documentation/js/multiple_return_values.js +0 -5
- data/packages/coffee-script/documentation/js/object_comprehensions.js +0 -15
- data/packages/coffee-script/documentation/js/object_extraction.js +0 -10
- data/packages/coffee-script/documentation/js/objects_and_arrays.js +0 -17
- data/packages/coffee-script/documentation/js/objects_reserved.js +0 -4
- data/packages/coffee-script/documentation/js/overview.js +0 -35
- data/packages/coffee-script/documentation/js/parallel_assignment.js +0 -4
- data/packages/coffee-script/documentation/js/patterns_and_splats.js +0 -4
- data/packages/coffee-script/documentation/js/prototypes.js +0 -3
- data/packages/coffee-script/documentation/js/range_comprehensions.js +0 -9
- data/packages/coffee-script/documentation/js/scope.js +0 -8
- data/packages/coffee-script/documentation/js/slices.js +0 -4
- data/packages/coffee-script/documentation/js/soaks.js +0 -2
- data/packages/coffee-script/documentation/js/splats.js +0 -15
- data/packages/coffee-script/documentation/js/splices.js +0 -3
- data/packages/coffee-script/documentation/js/strings.js +0 -2
- data/packages/coffee-script/documentation/js/switch.js +0 -23
- data/packages/coffee-script/documentation/js/try.js +0 -8
- data/packages/coffee-script/documentation/js/while.js +0 -18
- data/packages/coffee-script/documentation/vendor/jquery-1.4.2.js +0 -6240
- data/packages/coffee-script/examples/beautiful_code/binary_search.coffee +0 -16
- data/packages/coffee-script/examples/beautiful_code/quicksort_runtime.coffee +0 -13
- data/packages/coffee-script/examples/beautiful_code/regular_expression_matcher.coffee +0 -34
- data/packages/coffee-script/examples/blocks.coffee +0 -54
- data/packages/coffee-script/examples/code.coffee +0 -167
- data/packages/coffee-script/examples/computer_science/README +0 -4
- data/packages/coffee-script/examples/computer_science/binary_search.coffee +0 -25
- data/packages/coffee-script/examples/computer_science/bubble_sort.coffee +0 -11
- data/packages/coffee-script/examples/computer_science/linked_list.coffee +0 -108
- data/packages/coffee-script/examples/computer_science/luhn_algorithm.coffee +0 -36
- data/packages/coffee-script/examples/computer_science/merge_sort.coffee +0 -19
- data/packages/coffee-script/examples/computer_science/selection_sort.coffee +0 -23
- data/packages/coffee-script/examples/poignant.coffee +0 -181
- data/packages/coffee-script/examples/potion.coffee +0 -206
- data/packages/coffee-script/examples/underscore.coffee +0 -682
- data/packages/coffee-script/examples/web_server.coffee +0 -12
- data/packages/coffee-script/extras/EXTRAS +0 -7
- data/packages/coffee-script/extras/coffee-script.js +0 -8
- data/packages/coffee-script/extras/jsl.conf +0 -44
- data/packages/coffee-script/index.html +0 -2515
- data/packages/coffee-script/lib/browser.js +0 -52
- data/packages/coffee-script/lib/cake.js +0 -76
- data/packages/coffee-script/lib/coffee-script.js +0 -82
- data/packages/coffee-script/lib/command.js +0 -263
- data/packages/coffee-script/lib/grammar.js +0 -581
- data/packages/coffee-script/lib/helpers.js +0 -66
- data/packages/coffee-script/lib/index.js +0 -8
- data/packages/coffee-script/lib/lexer.js +0 -633
- data/packages/coffee-script/lib/nodes.js +0 -2165
- data/packages/coffee-script/lib/optparse.js +0 -111
- data/packages/coffee-script/lib/parser.js +0 -649
- data/packages/coffee-script/lib/repl.js +0 -42
- data/packages/coffee-script/lib/rewriter.js +0 -353
- data/packages/coffee-script/lib/scope.js +0 -120
- data/packages/coffee-script/lib/spade-format.js +0 -45
- data/packages/coffee-script/package.json +0 -26
- data/packages/coffee-script/src/browser.coffee +0 -43
- data/packages/coffee-script/src/cake.coffee +0 -69
- data/packages/coffee-script/src/coffee-script.coffee +0 -92
- data/packages/coffee-script/src/command.coffee +0 -214
- data/packages/coffee-script/src/grammar.coffee +0 -590
- data/packages/coffee-script/src/helpers.coffee +0 -56
- data/packages/coffee-script/src/index.coffee +0 -2
- data/packages/coffee-script/src/lexer.coffee +0 -653
- data/packages/coffee-script/src/nodes.coffee +0 -1754
- data/packages/coffee-script/src/optparse.coffee +0 -99
- data/packages/coffee-script/src/repl.coffee +0 -42
- data/packages/coffee-script/src/rewriter.coffee +0 -326
- data/packages/coffee-script/src/scope.coffee +0 -94
- data/packages/coffee-script/test/arguments.coffee +0 -127
- data/packages/coffee-script/test/assignment.coffee +0 -98
- data/packages/coffee-script/test/break.coffee +0 -18
- data/packages/coffee-script/test/comments.coffee +0 -201
- data/packages/coffee-script/test/conditionals.coffee +0 -181
- data/packages/coffee-script/test/exception_handling.coffee +0 -90
- data/packages/coffee-script/test/helpers.coffee +0 -96
- data/packages/coffee-script/test/importing.coffee +0 -18
- data/packages/coffee-script/test/operators.coffee +0 -225
- data/packages/coffee-script/test/ranges_slices_and_splices.coffee +0 -186
- data/packages/coffee-script/test/regular_expressions.coffee +0 -56
- data/packages/coffee-script/test/test.html +0 -123
- data/packages/coffee-script/test/test_chaining.coffee +0 -77
- data/packages/coffee-script/test/test_classes.coffee +0 -372
- data/packages/coffee-script/test/test_compilation.coffee +0 -26
- data/packages/coffee-script/test/test_comprehensions.coffee +0 -318
- data/packages/coffee-script/test/test_existence.coffee +0 -165
- data/packages/coffee-script/test/test_functions.coffee +0 -379
- data/packages/coffee-script/test/test_heredocs.coffee +0 -111
- data/packages/coffee-script/test/test_literals.coffee +0 -270
- data/packages/coffee-script/test/test_option_parser.coffee +0 -27
- data/packages/coffee-script/test/test_pattern_matching.coffee +0 -162
- data/packages/coffee-script/test/test_returns.coffee +0 -63
- data/packages/coffee-script/test/test_splats.coffee +0 -102
- data/packages/coffee-script/test/test_strings.coffee +0 -118
- data/packages/coffee-script/test/test_switch.coffee +0 -103
- data/packages/coffee-script/test/test_while.coffee +0 -71
- data/packages/ivory/LICENSE.txt +0 -1
- data/packages/ivory/README.md +0 -19
- data/packages/ivory/lib/buffer.js +0 -111
- data/packages/ivory/lib/events.js +0 -137
- data/packages/ivory/lib/fs.js +0 -266
- data/packages/ivory/lib/main.js +0 -13
- data/packages/ivory/lib/path.js +0 -158
- data/packages/ivory/lib/ruby/buffer.rb +0 -145
- data/packages/ivory/lib/ruby/constants.rb +0 -585
- data/packages/ivory/lib/ruby/events.rb +0 -32
- data/packages/ivory/lib/ruby/fs.rb +0 -245
- data/packages/ivory/lib/ruby/process.rb +0 -28
- data/packages/ivory/lib/stream.js +0 -115
- data/packages/ivory/lib/util.js +0 -414
- data/packages/ivory/package.json +0 -11
- data/packages/jquery/main.js +0 -7179
- data/packages/jquery/package.json +0 -10
- data/packages/json/lib/main.js +0 -14
- data/packages/json/package.json +0 -8
- data/packages/lproj/README.md +0 -77
- data/packages/lproj/examples/demo-app/en.lproj/localized.strings +0 -2
- data/packages/lproj/examples/demo-app/fr.lproj/localized.strings +0 -3
- data/packages/lproj/examples/demo-app/index.html +0 -8
- data/packages/lproj/examples/demo-app/lib/main.js +0 -7
- data/packages/lproj/examples/demo-app/package.json +0 -9
- data/packages/lproj/lib/main.js +0 -78
- data/packages/lproj/lib/strings-format.js +0 -6
- data/packages/lproj/package.json +0 -9
- data/packages/optparse/README.md +0 -161
- data/packages/optparse/TODO +0 -1
- data/packages/optparse/examples/browser-test.html +0 -75
- data/packages/optparse/examples/nodejs-test.js +0 -90
- data/packages/optparse/lib/optparse.js +0 -309
- data/packages/optparse/package.json +0 -13
- data/packages/optparse/seed.yml +0 -5
- data/packages/text/lib/main.js +0 -8
- data/packages/text/package.json +0 -9
- data/packages/web-file/README.md +0 -7
- data/packages/web-file/lib/errors.js +0 -32
- data/packages/web-file/lib/file-reader.js +0 -10
- data/packages/web-file/lib/file-system.js +0 -234
- data/packages/web-file/lib/file-writer.js +0 -10
- data/packages/web-file/lib/file.js +0 -9
- data/packages/web-file/lib/main.js +0 -34
- data/packages/web-file/lib/platform.js +0 -25
- data/packages/web-file/lib/ruby/file.rb +0 -252
- data/packages/web-file/lib/ruby/file_reader.rb +0 -69
- data/packages/web-file/lib/ruby/file_system.rb +0 -134
- data/packages/web-file/lib/ruby/file_writer.rb +0 -78
- data/packages/web-file/package.json +0 -12
- data/packages/web-typed-array/README.md +0 -7
- data/packages/web-typed-array/lib/array-buffer-view.js +0 -9
- data/packages/web-typed-array/lib/array-buffer.js +0 -7
- data/packages/web-typed-array/lib/main.js +0 -33
- data/packages/web-typed-array/lib/platform.js +0 -20
- data/packages/web-typed-array/lib/ruby/array_buffer.rb +0 -31
- data/packages/web-typed-array/lib/ruby/array_buffer_view.rb +0 -130
- data/packages/web-typed-array/lib/ruby/typed_array.rb +0 -133
- data/packages/web-typed-array/lib/typed-array.js +0 -26
- data/packages/web-typed-array/package.json +0 -9
- data/spec/cli/build_spec.rb +0 -59
- data/spec/cli/install_spec.rb +0 -120
- data/spec/cli/installed_spec.rb +0 -55
- data/spec/cli/list_spec.rb +0 -75
- data/spec/cli/login_spec.rb +0 -76
- data/spec/cli/new_spec.rb +0 -5
- data/spec/cli/owner_spec.rb +0 -115
- data/spec/cli/push_spec.rb +0 -74
- data/spec/cli/uninstall_spec.rb +0 -58
- data/spec/cli/unpack_spec.rb +0 -73
- data/spec/cli/unyank_spec.rb +0 -74
- data/spec/cli/update_spec.rb +0 -8
- data/spec/cli/yank_spec.rb +0 -74
- data/spec/credentials_spec.rb +0 -24
- data/spec/fixtures/coffee-1.0.1.pre.spd +0 -0
- data/spec/fixtures/core-test-0.4.3.spd +0 -0
- data/spec/fixtures/core-test/bin/cot +0 -3
- data/spec/fixtures/core-test/lib/main.js +0 -1
- data/spec/fixtures/core-test/resources/runner.css +0 -0
- data/spec/fixtures/core-test/tests/test.js +0 -1
- data/spec/fixtures/ivory-0.0.1.spd +0 -0
- data/spec/fixtures/jquery-1.4.3.spd +0 -0
- data/spec/fixtures/optparse-1.0.1.spd +0 -0
- data/spec/fixtures/package.json +0 -30
- data/spec/gauntlet_spec.rb +0 -27
- data/spec/javascript/async-test.js +0 -123
- data/spec/javascript/compiler/javascript.js +0 -13
- data/spec/javascript/compiler/ruby.js +0 -14
- data/spec/javascript/loader-test.js +0 -64
- data/spec/javascript/normalize-test.js +0 -73
- data/spec/javascript/packages-test.js +0 -44
- data/spec/javascript/relative-require-test.js +0 -72
- data/spec/javascript/require-test.js +0 -117
- data/spec/javascript/sandbox/compile.js +0 -37
- data/spec/javascript/sandbox/creation.js +0 -44
- data/spec/javascript/sandbox/format.js +0 -79
- data/spec/javascript/sandbox/misc.js +0 -57
- data/spec/javascript/sandbox/preprocessor.js +0 -81
- data/spec/javascript/sandbox/require.js +0 -48
- data/spec/javascript/sandbox/run-command.js +0 -21
- data/spec/javascript/spade/externs.js +0 -14
- data/spec/javascript/spade/load-factory.js +0 -15
- data/spec/javascript/spade/misc.js +0 -23
- data/spec/javascript/spade/ready.js +0 -12
- data/spec/javascript/spade/register.js +0 -13
- data/spec/javascript_spec.rb +0 -7
- data/spec/package_spec.rb +0 -267
- data/spec/spec_helper.rb +0 -30
- data/spec/support/cli.rb +0 -94
- data/spec/support/core_test.rb +0 -59
- data/spec/support/fake.rb +0 -44
- data/spec/support/fake_gem_server.rb +0 -66
- data/spec/support/fake_gemcutter.rb +0 -49
- data/spec/support/matchers.rb +0 -31
- data/spec/support/path.rb +0 -54
- data/test-spade.html +0 -8
data/spec/cli/login_spec.rb
DELETED
@@ -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
|
data/spec/cli/new_spec.rb
DELETED
data/spec/cli/owner_spec.rb
DELETED
@@ -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
|
data/spec/cli/push_spec.rb
DELETED
@@ -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
|
data/spec/cli/uninstall_spec.rb
DELETED
@@ -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
|
data/spec/cli/unpack_spec.rb
DELETED
@@ -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
|
data/spec/cli/unyank_spec.rb
DELETED
@@ -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
|