Sha256: 84a3ad1018fbf338ab80565020e37173fb10f112f444f858c5e4e6820d6f0d5d

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

require 'test_helper'
require 'vedeu/support/terminal'

module Vedeu
  describe Terminal do
    let(:console) { IO.console }

    describe '.input' do
      it 'returns the entered string' do
        console.stub :gets, "test\n" do
          Terminal.input.must_equal('test')
        end
      end
    end

    describe '.output' do
      it 'returns the output' do
        Terminal.output.must_equal('')
      end
    end

    describe '.clear_last_line' do
      it 'returns an escape sequence to clear the last line' do
        console.stub :winsize, [25, 25] do
          Terminal.clear_last_line
            .must_equal("\e[24;1H\e[38;2;39m\e[48;2;49m\e[2K")
        end
      end
    end

    describe '.centre' do
      it 'returns the centre point on the terminal' do
        console.stub :winsize, [25, 80] do
          Terminal.centre.must_equal([12, 40])
        end
      end
    end

    describe '.width' do
      it 'returns the width of the terminal' do
        console.stub :winsize, [25, 80] do
          Terminal.width.must_equal(80)
        end
      end
    end

    describe '.height' do
      it 'returns the height of the terminal' do
        console.stub :winsize, [25, 80] do
          Terminal.height.must_equal(25)
        end
      end
    end

    describe '.size' do
      it 'returns the width and height of the terminal' do
        console.stub :winsize, [25, 80] do
          Terminal.size.must_equal([25, 80])
        end
      end
    end

    describe '.console' do
      it 'returns the console' do
        Terminal.console.must_equal(console)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.1.9 test/lib/vedeu/support/terminal_test.rb
vedeu-0.1.8 test/lib/vedeu/support/terminal_test.rb