diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-08-26 14:55:41 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-26 14:55:41 +0900 |
commit | 494fd7743c052126b3af90db574f13c99005663e (patch) | |
tree | a8e91716b2e946af3f1d5e956e52e46e0c04308e | |
parent | 3f56b9cc50d348789a5aa8233758f691b4ef7cec (diff) | |
parent | 1fe777ef778ee8de88094cef2ff85363648ade51 (diff) | |
download | rails-494fd7743c052126b3af90db574f13c99005663e.tar.gz rails-494fd7743c052126b3af90db574f13c99005663e.tar.bz2 rails-494fd7743c052126b3af90db574f13c99005663e.zip |
Merge pull request #30417 from y-yagi/fix_cant_modify_forzen_string_error_in_display_image
Fix `can't modify frozen String` error in `display_image`
-rw-r--r-- | actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb | 2 | ||||
-rw-r--r-- | actionpack/test/dispatch/system_testing/screenshot_helper_test.rb | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb b/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb index a0203d26ae..7efdeb4e7b 100644 --- a/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +++ b/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb @@ -65,7 +65,7 @@ module ActionDispatch end def display_image - message = "[Screenshot]: #{image_path}\n" + message = "[Screenshot]: #{image_path}\n".dup case output_type when "artifact" diff --git a/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb b/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb index c8711f22d8..4b49a42317 100644 --- a/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb +++ b/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb @@ -28,6 +28,21 @@ class ScreenshotHelperTest < ActiveSupport::TestCase end end end + + test "display_image return artifact format when specify RAILS_SYSTEM_TESTING_SCREENSHOT environment" do + begin + original_output_type = ENV["RAILS_SYSTEM_TESTING_SCREENSHOT"] + ENV["RAILS_SYSTEM_TESTING_SCREENSHOT"] = "artifact" + + new_test = DrivenBySeleniumWithChrome.new("x") + + new_test.stub :passed?, false do + assert_match "\e]1338;url=artifact://tmp/screenshots/failures_x.png\a", new_test.send(:display_image) + end + ensure + ENV["RAILS_SYSTEM_TESTING_SCREENSHOT"] = original_output_type + end + end end class RackTestScreenshotsTest < DrivenByRackTest |