diff options
author | Atsushi Yamamoto <yamaatsushi927@gmail.com> | 2017-10-22 14:14:06 -0700 |
---|---|---|
committer | Atsushi Yamamoto <yamaatsushi927@gmail.com> | 2017-10-22 14:14:06 -0700 |
commit | e1dfa07f7b3c09fe34119bb876dfb22801c69bb3 (patch) | |
tree | 00a15528508d2376f0f899f3d9a09d9444880aa2 /spec/plugins | |
parent | a08d08eb9854435ba6d5ef513d95e295ab19e8a6 (diff) | |
download | bundler-e1dfa07f7b3c09fe34119bb876dfb22801c69bb3.tar.gz |
Fix 'plugins list' pull request
Diffstat (limited to 'spec/plugins')
-rw-r--r-- | spec/plugins/list_spec.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/spec/plugins/list_spec.rb b/spec/plugins/list_spec.rb new file mode 100644 index 0000000000..7dc9d10c4b --- /dev/null +++ b/spec/plugins/list_spec.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +RSpec.describe "bundler plugin list" do + before do + build_repo2 do + build_plugin "foo" do |s| + s.write "plugins.rb", <<-RUBY + class Foo < Bundler::Plugin::API + command "shout" + + def exec(command, args) + puts "Foo shout" + end + end + RUBY + end + build_plugin "bar" do |s| + s.write "plugins.rb", <<-RUBY + class Bar < Bundler::Plugin::API + command "scream" + + def exec(command, args) + puts "Bar scream" + end + end + RUBY + end + end + end + + context "no plugins installed" do + it "shows proper no plugins installed message" do + bundle "plugin list" + + expect(out).to include("No plugins installed") + end + end + + context "single plugin installed" do + it "shows plugin name with commands list" do + bundle "plugin install foo --source file://#{gem_repo2}" + plugin_should_be_installed("foo") + bundle "plugin list" + + expected_output = "foo\n-----\n shout" + expect(out).to include(expected_output) + end + end + + context "multiple plugins installed" do + it "shows plugin names with commands list" do + bundle "plugin install foo bar --source file://#{gem_repo2}" + plugin_should_be_installed("foo", "bar") + bundle "plugin list" + + expected_output = "foo\n-----\n shout\n\nbar\n-----\n scream" + expect(out).to include(expected_output) + end + end +end |