spec/rspec_em_spec.rb in amqp-spec-0.0.4 vs spec/rspec_em_spec.rb in amqp-spec-0.1.7

- old
+ new

@@ -16,47 +16,41 @@ (Time.now-start).should be_close(0.5, 0.1) done } end end - end - describe EventMachine, " when testing with AMQP::Spec" do - include AMQP::EMSpec - - it 'should work' do - done - end - - it 'should have timers' do + it "should be possible to set spec timeouts as a number of secounds" do start = Time.now + proc { + em(0.5) do - EM.add_timer(0.5) { - (Time.now-start).should be_close(0.5, 0.1) - done - } + EM.add_timer(1) { + done + } + end + }.should raise_error SpecTimeoutExceededError + (Time.now-start).should be_close(0.5, 0.1) end - it 'should have periodic timers' do - num = 0 + it "should be possible to set spec timeout as an option (amqp interface compatibility)" do start = Time.now + proc { + em(0.5) do - timer = EM.add_periodic_timer(0.2) { - if (num += 1) == 2 - (Time.now-start).should be_close(0.4, 0.1) - EM.__send__ :cancel_timer, timer - done + EM.add_timer(1) { + done + } end - } + }.should raise_error SpecTimeoutExceededError + (Time.now-start).should be_close(0.5, 0.1) end + end - it 'should have deferrables' do - defr = EM::DefaultDeferrable.new - defr.timeout(0.5) - defr.errback { - done - } - end + describe EventMachine, " when testing with AMQP::Spec" do + include AMQP::EMSpec + + it_should_behave_like 'Spec examples' end end describe "Rspec", " when running an example group after groups that uses EM specs " do \ No newline at end of file