61 lines
959 B
Ruby
61 lines
959 B
Ruby
require 'puma/events'
|
|
require_relative "helper"
|
|
|
|
class TestEvents < Minitest::Test
|
|
def test_register_callback_with_block
|
|
res = false
|
|
|
|
events = Puma::Events.new
|
|
|
|
events.register(:exec) { res = true }
|
|
|
|
events.fire(:exec)
|
|
|
|
assert_equal true, res
|
|
end
|
|
|
|
def test_register_callback_with_object
|
|
obj = Object.new
|
|
|
|
def obj.res
|
|
@res || false
|
|
end
|
|
|
|
def obj.call
|
|
@res = true
|
|
end
|
|
|
|
events = Puma::Events.new
|
|
|
|
events.register(:exec, obj)
|
|
|
|
events.fire(:exec)
|
|
|
|
assert_equal true, obj.res
|
|
end
|
|
|
|
def test_fire_callback_with_multiple_arguments
|
|
res = []
|
|
|
|
events = Puma::Events.new
|
|
|
|
events.register(:exec) { |*args| res.concat(args) }
|
|
|
|
events.fire(:exec, :foo, :bar, :baz)
|
|
|
|
assert_equal [:foo, :bar, :baz], res
|
|
end
|
|
|
|
def test_on_booted_callback
|
|
res = false
|
|
|
|
events = Puma::Events.new
|
|
|
|
events.on_booted { res = true }
|
|
|
|
events.fire_on_booted!
|
|
|
|
assert res
|
|
end
|
|
end
|