Sha256: 63890fb090c2217af2f3c54d13aecb821d3c2a54690635e9c98bf5ffa395df73

Contents?: true

Size: 1.17 KB

Versions: 9

Compression:

Stored size: 1.17 KB

Contents

require 'test_helper'

module Vedeu
  describe Event do
    let(:closure) { proc { :event_triggered } }
    let(:options) { {} }

    describe '#initialize' do
      it 'returns an instance of itself' do
        Event.new(closure, options).must_be_instance_of(Event)
      end
    end

    describe '#trigger' do
      it 'returns the result of calling the closure when debouncing' do
        event = Event.new(closure, { debounce: 0.0025 })
        event.trigger.must_equal(nil)
        sleep 0.0015
        event.trigger.must_equal(nil)
        sleep 0.0015
        event.trigger.must_equal(:event_triggered)
        sleep 0.0015
        event.trigger.must_equal(nil)
      end

      it 'returns the result of calling the closure when throttling' do
        event = Event.new(closure, { delay: 0.0025 })
        event.trigger.must_equal(:event_triggered)
        sleep 0.0015
        event.trigger.must_equal(nil)
        sleep 0.0015
        event.trigger.must_equal(:event_triggered)
      end

      it 'returns the result of calling the closure with its arguments' do
        event = Event.new(closure, options)
        event.trigger.must_equal(:event_triggered)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vedeu-0.2.4 test/lib/vedeu/support/event_test.rb
vedeu-0.2.3 test/lib/vedeu/support/event_test.rb
vedeu-0.2.2 test/lib/vedeu/support/event_test.rb
vedeu-0.2.1 test/lib/vedeu/support/event_test.rb
vedeu-0.2.0 test/lib/vedeu/support/event_test.rb
vedeu-0.1.19 test/lib/vedeu/support/event_test.rb
vedeu-0.1.18 test/lib/vedeu/support/event_test.rb
vedeu-0.1.17 test/lib/vedeu/support/event_test.rb
vedeu-0.1.16 test/lib/vedeu/support/event_test.rb