[ruby/error_highlight] Redefine in the module context

https://github.com/ruby/error_highlight/commit/0048bd0285
This commit is contained in:
Nobuyoshi Nakada 2024-10-30 02:37:02 +09:00 committed by git
parent e22d5c2584
commit a9f509e6c5

View File

@ -1362,12 +1362,17 @@ undefined method `time' for #{ ONE_RECV_MESSAGE }
warning = nil
original_warn = Warning.method(:warn)
Warning.define_method(:warn) {|s| warning = s}
Warning.class_eval do
remove_method(:warn)
define_method(:warn) {|str| warning = str}
end
begin
ErrorHighlight::DefaultFormatter.max_snippet_width = custom_max_width
ensure
Warning.remove_method(:warn)
Warning.define_method(:warn, original_warn)
Warning.class_eval do
remove_method(:warn)
define_method(:warn, original_warn)
end
end
assert_match "'max_snippet_width' adjusted to minimum value of #{min_snippet_width}", warning