Sha256: e8881ee3b4b39915a31c9c7761b670701fb2ae9487049e9b8a330c40fb9b9941

Contents?: true

Size: 1.21 KB

Versions: 2

Compression:

Stored size: 1.21 KB

Contents

require 'test_helper'

module Vedeu

  module Cursors

    describe Repository do

      let(:described) { Vedeu::Cursors::Repository }

      it { described.must_respond_to(:cursors) }

      describe '.cursor' do
        before { Vedeu::Models::Focus.reset }

        subject { Vedeu.cursor }

        context 'when there are cursors are defined' do
          before do
            Vedeu.cursors.reset
            Vedeu::Cursors::Cursor.store(name: 'Vedeu.cursor')
            Vedeu::Models::Focus.add('Vedeu.cursor')
          end

          it 'returns the cursor of the interface/view currently in focus' do
            subject.must_be_instance_of(Vedeu::Cursors::Cursor)
          end
        end

        context 'when there are no cursors defined' do
          before {
            Vedeu::Models::Focus.add('Vedeu.cursor')
            Vedeu.cursors.reset
          }

          it {
            subject.must_be_instance_of(Vedeu::Cursors::Cursor)
          }
        end

        context 'when there are no interfaces or views defined' do
          it 'returns an unnamed cursor' do
            subject.must_be_instance_of(Vedeu::Cursors::Cursor)
          end
        end
      end

    end # Repository

  end # Cursors

end # Vedeu

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.6.71 test/lib/vedeu/cursors/repository_test.rb
vedeu-0.6.70 test/lib/vedeu/cursors/repository_test.rb