puma/test/test_events.rb

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