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