36 lines
689 B
Ruby
36 lines
689 B
Ruby
|
require 'em_test_helper'
|
||
|
|
||
|
class TestDeferrable < Test::Unit::TestCase
|
||
|
class Later
|
||
|
include EM::Deferrable
|
||
|
end
|
||
|
|
||
|
def test_timeout_without_args
|
||
|
assert_nothing_raised do
|
||
|
EM.run {
|
||
|
df = Later.new
|
||
|
df.timeout(0)
|
||
|
df.errback { EM.stop }
|
||
|
EM.add_timer(0.01) { flunk "Deferrable was not timed out." }
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def test_timeout_with_args
|
||
|
args = nil
|
||
|
|
||
|
EM.run {
|
||
|
df = Later.new
|
||
|
df.timeout(0, :timeout, :foo)
|
||
|
df.errback do |type, name|
|
||
|
args = [type, name]
|
||
|
EM.stop
|
||
|
end
|
||
|
|
||
|
EM.add_timer(0.01) { flunk "Deferrable was not timed out." }
|
||
|
}
|
||
|
|
||
|
assert_equal [:timeout, :foo], args
|
||
|
end
|
||
|
end
|