Sha256: 127550a9382eca921627db1bb6d1602a5ea15a5c113728534a3cd4f648a0ccca

Contents?: true

Size: 970 Bytes

Versions: 44

Compression:

Stored size: 970 Bytes

Contents

require "helper"

describe Thor::LineEditor::Basic do
  describe ".available?" do
    it "returns true" do
      expect(Thor::LineEditor::Basic).to be_available
    end
  end

  describe "#readline" do
    it "uses $stdin and $stdout to get input from the user" do
      expect($stdout).to receive(:print).with("Enter your name ")
      expect($stdin).to receive(:gets).and_return("George")
      expect($stdin).not_to receive(:noecho)
      editor = Thor::LineEditor::Basic.new("Enter your name ", {})
      expect(editor.readline).to eq("George")
    end

    it "disables echo when asked to" do
      expect($stdout).to receive(:print).with("Password: ")
      noecho_stdin = double("noecho_stdin")
      expect(noecho_stdin).to receive(:gets).and_return("secret")
      expect($stdin).to receive(:noecho).and_yield(noecho_stdin)
      editor = Thor::LineEditor::Basic.new("Password: ", :echo => false)
      expect(editor.readline).to eq("secret")
    end
  end
end

Version data entries

44 entries across 41 versions & 19 rubygems

Version Path
abaci-0.3.0 vendor/bundle/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
gameboard-3.1.0 vendor/bundle/ruby/2.3.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
gameboard-3.0.0 vendor/bundle/ruby/2.3.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.8 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
tdiary-5.0.2 vendor/bundle/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
tdiary-5.0.1 vendor/bundle/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.7 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.6 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.5 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.4 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.3 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.2 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.1 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
cvss-suite-1.0.0 vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
honeybadger-2.4.0 vendor/gems/ruby/1.9.1/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
honeybadger-2.4.0 vendor/gems/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
honeybadger-2.4.0 vendor/gems/ruby/2.1.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
angular-rails4-templates-0.4.1 vendor/ruby/2.1.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb
vagrant-unbundled-1.8.1.1 vendor/bundle/ruby/2.3.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb