Sha256: 865658ad5a784fe69c7f4fdca80cbd4a04ab2e60e9eb9475a2a5377c0fe36d73

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require File.dirname(__FILE__) + "/../spec_helper"

describe "Event handling" do



  describe "for precompiled CLR classes" do

    before do
      @warrior = ClrModels::ExposingWarrior.new
    end

    it "should subscribe to an event" do
      ClrModels::ExposedChangedSubscriber.new(@warrior)
      @warrior.has_event_subscriptions.should be_true
    end

    it "should not raise an error when subcribing to an event" do
      lambda { ClrModels::ExposedChangedSubscriber.new(@warrior) }.should_not raise_error
    end

    it "should handle an event when raised" do
      subscriber = ClrModels::ExposedChangedSubscriber.new(@warrior)
      @warrior.change_is_exposed
      subscriber.counter.should == 1
    end

  end

  describe "for an IR generated interface proxy" do

    before do
      @proxy = isolate ClrModels::IExposingWarrior
    end

    # apparently events don't work yet in IronRuby.. keeping this spec here to find out when it does
#    it "should not raise an error when subcribing to an event" do
#      lambda { ClrModels::ExposedChangedSubscriber.new(@proxy) }.should_not raise_error
#    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caricature-0.7.2 spec/rspec/unit/interop_spec.rb