2020-05-11 13:19:53 +03:00
|
|
|
require 'puma/events'
|
2017-05-12 12:16:55 -07:00
|
|
|
require_relative "helper"
|
2016-11-24 01:20:47 +01:00
|
|
|
|
|
|
|
class TestEvents < Minitest::Test
|
|
|
|
def test_register_callback_with_block
|
|
|
|
res = false
|
|
|
|
|
2022-02-06 02:06:22 +09:00
|
|
|
events = Puma::Events.new
|
2016-11-24 01:20:47 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2022-02-06 02:06:22 +09:00
|
|
|
events = Puma::Events.new
|
2016-11-24 01:20:47 +01:00
|
|
|
|
|
|
|
events.register(:exec, obj)
|
|
|
|
|
|
|
|
events.fire(:exec)
|
|
|
|
|
|
|
|
assert_equal true, obj.res
|
|
|
|
end
|
2016-11-24 23:57:07 +01:00
|
|
|
|
|
|
|
def test_fire_callback_with_multiple_arguments
|
|
|
|
res = []
|
|
|
|
|
2022-02-06 02:06:22 +09:00
|
|
|
events = Puma::Events.new
|
2016-11-24 23:57:07 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2022-02-06 02:06:22 +09:00
|
|
|
events = Puma::Events.new
|
2016-11-24 23:57:07 +01:00
|
|
|
|
|
|
|
events.on_booted { res = true }
|
|
|
|
|
|
|
|
events.fire_on_booted!
|
|
|
|
|
|
|
|
assert res
|
|
|
|
end
|
2016-11-24 01:20:47 +01:00
|
|
|
end
|