Sha256: bcaa91b21c908c08422589f1a79aac272511372960b584734ef84e196f5fe454
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
require 'spec_helper' require 'flirt/flirt_test_classes' describe Flirt::Listener do before(:each) do Flirt.enable end describe "when included in an instance" do let(:event) { :grabbed_coin } let(:callback_name) { :increase_score } let(:event_data) { { value: 100 } } let(:instance_subscriber) { TestInstanceSubscriber.new event, callback_name } let(:instance_listener) { TestInstanceListener.new event, callback_name } it "subscribes to an event" do expect(instance_subscriber).to receive(callback_name).with(event_data) Flirt.broadcast event, event_data end it "listens to an event" do expect(instance_listener).to receive(callback_name).with(event_data) Flirt.broadcast event, event_data end end describe "when included in a class" do let(:event) { :event_name } let(:callback_name) { :callback_name } let(:event_data) { { value: 100 } } let(:class_subscriber) { TestClassSubscriber } let(:class_listener) { TestClassListener } # Because rspec has to clear the Flirt callbacks for each test, # we need to require the test classes after rspec init. it "subscribes to an event" do require 'flirt/test_class_subscriber' expect(class_subscriber).to receive(callback_name).with(event_data) Flirt.broadcast event, event_data end it "listens to an event" do require 'flirt/test_class_listener' expect(class_listener).to receive(callback_name).with(event_data) Flirt.broadcast event, event_data end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
flirt-0.0.1 | spec/flirt/flirt_listener_spec.rb |