diff options
author | Rafael França <rafael@franca.dev> | 2019-07-25 16:47:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-25 16:47:03 -0400 |
commit | bd5edc29709116104345cf09c17f1db89428753e (patch) | |
tree | 63c8ba5a61b4f9a1a57435b3cd4aaeb92707a86b /activesupport/test | |
parent | c9b7b9ff8adb3f01db0f9af90359030028a33b5b (diff) | |
parent | 218f0777d6abf1b2f933e44bd08f75f3d28c75ca (diff) | |
download | rails-bd5edc29709116104345cf09c17f1db89428753e.tar.gz rails-bd5edc29709116104345cf09c17f1db89428753e.tar.bz2 rails-bd5edc29709116104345cf09c17f1db89428753e.zip |
Merge pull request #36318 from itsWill/fix_event_object_payload
Merge payload for EventObject subscribers
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/notifications_test.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/activesupport/test/notifications_test.rb b/activesupport/test/notifications_test.rb index c9c63680e4..08277e5436 100644 --- a/activesupport/test/notifications_test.rb +++ b/activesupport/test/notifications_test.rb @@ -41,6 +41,27 @@ module Notifications assert_operator event.duration, :>, 0 end + def test_subscribe_to_events_where_payload_is_changed_during_instrumentation + @notifier.subscribe do |event| + assert_equal "success!", event.payload[:my_key] + end + + ActiveSupport::Notifications.instrument("foo") do |payload| + payload[:my_key] = "success!" + end + end + + def test_subscribe_to_events_can_handle_nested_hashes_in_the_paylaod + @notifier.subscribe do |event| + assert_equal "success!", event.payload[:some_key][:key_one] + assert_equal "great_success!", event.payload[:some_key][:key_two] + end + + ActiveSupport::Notifications.instrument("foo", some_key: { key_one: "success!" }) do |payload| + payload[:some_key][:key_two] = "great_success!" + end + end + def test_subscribe_via_top_level_api old_notifier = ActiveSupport::Notifications.notifier ActiveSupport::Notifications.notifier = ActiveSupport::Notifications::Fanout.new |