Sha256: cb7cafafdd6aa1400260af88f57bd5d3154489da05fb19775ed2279f6df7756f

Contents?: true

Size: 1.25 KB

Versions: 8

Compression:

Stored size: 1.25 KB

Contents

# coding: utf-8

RSpec.describe TTY::Pager, '.page' do
  let(:output) { StringIO.new }

  it "selects null pager when disabled" do
    null_pager = spy(:null_pager)
    allow(TTY::Pager::NullPager).to receive(:new) { null_pager }

    pager = described_class.new(enabled: false)
    text = "I try all things, I achieve what I can.\n"
    pager.page(text)

    expect(TTY::Pager::NullPager).to have_received(:new)
  end

  it "selects basic pager on non tty systems" do
    basic_pager = spy(:basic_pager)
    allow(TTY::Pager::SystemPager).to receive(:available?) { false }
    allow(TTY::Pager::BasicPager).to receive(:new) { basic_pager }

    pager = described_class.new
    text = "I try all things, I achieve what I can.\n"
    pager.page(text)

    expect(basic_pager).to have_received(:page).with(text)
  end

  it "selects system pager on systems with tty" do
    system_pager = spy(:system_pager)
    allow(TTY::Pager::SystemPager).to receive(:available?) { true }
    allow(described_class).to receive(:jruby?) { false }
    allow(TTY::Pager::SystemPager).to receive(:new) { system_pager }

    pager = described_class.new
    text = "I try all things, I achieve what I can.\n"
    pager.page(text)

    expect(system_pager).to have_received(:page).with(text)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tty-pager-0.7.1 spec/unit/page_spec.rb
tty-pager-0.7.0 spec/unit/page_spec.rb
tty-pager-0.6.0 spec/unit/page_spec.rb
tty-pager-0.5.0 spec/unit/page_spec.rb
tty-pager-0.4.0 spec/unit/page_spec.rb
tty-pager-0.3.0 spec/unit/page_spec.rb
tty-pager-0.2.0 spec/unit/page_spec.rb
tty-pager-0.1.0 spec/unit/page_spec.rb