提交 a007800a 编写于 作者: S stopdropandrew

ActiveSupport::Notifications::Instrumenter#instrument should yield

its payload the same way that ActiveSupport::Notifications does.
Fix spelling in test name.
上级 8fe904b5
## Rails 4.0.0 (unreleased) ##
* `ActiveSupport::Notifications::Instrumenter#instrument` should yield
its payload.
*stopdropandrew*
* Fix deletion of empty directories in ActiveSupport::Cache::FileStore.
*Charles Jones*
## Rails 4.0.0.beta1 (February 25, 2013) ##
......
......@@ -17,7 +17,7 @@ def initialize(notifier)
def instrument(name, payload={})
start name, payload
begin
yield
yield payload
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
raise e
......
......@@ -34,6 +34,14 @@ def test_instrument
assert called
end
def test_instrument_yields_the_payload_for_further_modification
assert_equal 2, instrumenter.instrument("awesome") { |p| p[:result] = 1 + 1 }
assert_equal 1, notifier.finishes.size
name, _, payload = notifier.finishes.first
assert_equal "awesome", name
assert_equal Hash[:result => 2], payload
end
def test_start
instrumenter.start("foo", payload)
assert_equal [["foo", instrumenter.id, payload]], notifier.starts
......
......@@ -157,7 +157,7 @@ def test_instrument_returns_block_result
assert_equal 2, instrument(:awesome) { 1 + 1 }
end
def test_instrument_yields_the_paylod_for_further_modification
def test_instrument_yields_the_payload_for_further_modification
assert_equal 2, instrument(:awesome) { |p| p[:result] = 1 + 1 }
assert_equal 1, @events.size
assert_equal :awesome, @events.first.name
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册