Sha256: fc5ac098fef7f497848fb93cd05c0d42fef0810e40f3439e04a67315aaeef104
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
# coding: utf-8 RSpec.describe TTY::Pager::SystemPager, '#available' do let(:execs) { ['less', 'more'] } subject(:pager) { described_class } it 'finds available command' do allow(pager).to receive(:executables).and_return(execs) allow(pager).to receive(:command_exists?).with('less') { true } allow(pager).to receive(:command_exists?).with('more') { false } expect(pager.available).to eql('less') end it "doesn't find command" do allow(pager).to receive(:executables).and_return(execs) allow(pager).to receive(:command_exists?) { false } expect(pager.available).to be_nil end it "takes precedence over other commands" do allow(pager).to receive(:command_exists?).with('more') { true } expect(pager.available('more')).to eql('more') end it "allows to query for available command" do allow(pager).to receive(:available).with('less') { true } expect(pager.available?('less')).to eq(true) end context "when given nil, blank, and whitespace commands" do let(:execs) { [nil, "", " ", "less"] } it "does not error" do allow(pager).to receive(:executables).and_return(execs) allow(pager).to receive(:command_exists?).with('less') { true } expect(pager.available).to eql('less') end end context "when given a multi-word executable" do let(:execs) { ["diff-so-fancy | less --tabs=4 -RFX"] } it "finds the command" do allow(pager).to receive(:executables).and_return(execs) allow(pager).to receive(:command_exists?).with("diff-so-fancy") { true } expect(pager.available).to eql(execs.first) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tty-pager-0.9.0 | spec/unit/system/available_spec.rb |
tty-pager-0.8.0 | spec/unit/system/available_spec.rb |