Sha256: 04fd8b27051f0db0f33deefa8398c8db7b47aeaed5f9a4d49a74049af5d96716

Contents?: true

Size: 1.66 KB

Versions: 11

Compression:

Stored size: 1.66 KB

Contents

require 'test_helper'

module Vedeu

  module Cursors

    describe Refresh do

      let(:described) { Vedeu::Cursors::Refresh }
      let(:instance)  { described.new(_name) }
      let(:_name)     { 'refresh_cursor' }
      let(:expected)  {}
      let(:ox)        { 0 }
      let(:oy)        { 0 }

      describe '#initialize' do
        it { instance.must_be_instance_of(described) }
        it { instance.instance_variable_get('@name').must_equal(_name) }
      end

      describe '.by_name' do
        before do
          Vedeu.geometry 'refresh_cursor' do
            x  1
            xn 3
            y  1
            yn 3
          end
          Vedeu::Cursors::Cursor.new(name: 'refresh_cursor', ox: ox, oy: oy).store

          Vedeu::Terminal.stubs(:output).returns(expected)

          Vedeu.stubs(:trigger)
        end

        subject { described.by_name(_name) }

        it 'renders the cursor in the terminal' do
          Vedeu::Terminal.expects(:output).with("\e[1;1H\e[?25l")
          subject
        end

        context 'when the cursors offset position is outside the viewable area' do
          let(:ox) { 3 }
          let(:oy) { 3 }

          it 'refreshes the view' do
            Vedeu.expects(:trigger).with(:_refresh_, _name)
            subject
          end
        end

        context 'when the cursors offset position is inside the viewable area' do
          it 'does not refresh the view' do
            Vedeu.expects(:trigger).with(:_refresh_, _name).never
            subject
          end
        end
      end

      describe '#by_name' do
        it { instance.must_respond_to(:by_name) }
      end

    end # Refresh

  end # Cursors

end # Vedeu

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vedeu-0.6.15 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.14 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.13 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.12 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.11 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.10 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.9 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.8 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.7 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.6 test/lib/vedeu/cursors/refresh_test.rb
vedeu-0.6.5 test/lib/vedeu/cursors/refresh_test.rb