Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

48 lines (39 sloc) 1.25 kb
require 'helper'
describe Thor::Shell do
def shell
@shell ||= Thor::Base.shell.new
end
describe "#initialize" do
it "sets shell value" do
base = MyCounter.new [1, 2], { }, :shell => shell
expect(base.shell).to eq(shell)
end
it "sets the base value on the shell if an accessor is available" do
base = MyCounter.new [1, 2], { }, :shell => shell
expect(shell.base).to eq(base)
end
end
describe "#shell" do
it "returns the shell in use" do
expect(MyCounter.new([1,2]).shell).to be_kind_of(Thor::Base.shell)
end
it "uses $THOR_SHELL" do
class Thor::Shell::TestShell < Thor::Shell::Basic; end
expect(Thor::Base.shell).to eq(shell.class)
ENV['THOR_SHELL'] = 'TestShell'
Thor::Base.shell = nil
expect(Thor::Base.shell).to eq(Thor::Shell::TestShell)
ENV['THOR_SHELL'] = ''
Thor::Base.shell = shell.class
expect(Thor::Base.shell).to eq(shell.class)
end
end
describe "with_padding" do
it "uses padding for inside block outputs" do
base = MyCounter.new([1,2])
base.with_padding do
expect(capture(:stdout) { base.say_status :padding, "cool" }.strip).to eq("padding cool")
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.