Sha256: ce3a0afd2323df9388a05503480d93586a260aa38b322159a78fc931fb041f1c
Contents?: true
Size: 1005 Bytes
Versions: 3
Compression:
Stored size: 1005 Bytes
Contents
# coding: utf-8 RSpec.describe TTY::Pager::SystemPager, '.page' do let(:input) { StringIO.new } let(:output) { StringIO.new } it "executes the pager command in a subprocess" do text = "I try all things, I achieve what I can.\n" pager = described_class.new(output: output, input: input) read_io = spy write_io = spy allow(IO).to receive(:pipe).and_return([read_io, write_io]) allow(Kernel).to receive(:fork) do |&block| allow(input).to receive(:reopen) allow(IO).to receive(:select) allow(pager).to receive(:pager_command).and_return('less') allow(pager).to receive(:exec) block.call end.and_return(12345) status = double(:status, :success? => true) allow(Process).to receive(:waitpid2).with(12345).and_return([1, status]) expect(pager.page(text)).to eq(true) expect(IO).to have_received(:select).with([input]) expect(pager).to have_received(:exec).with('less') expect(output.read).to eq('') end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tty-pager-0.4.0 | spec/unit/system/page_spec.rb |
tty-pager-0.3.0 | spec/unit/system/page_spec.rb |
tty-pager-0.2.0 | spec/unit/system/page_spec.rb |