Project

General

Profile

Actions

Bug #770

closed

assert_match should escape string argument

Added by bitsweat (Jeremy Daer) over 13 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
ruby -v:
Backport:
[ruby-core:20013]

Description

=begin
String expectation for assert_match should be matched literally, not as a regexp.

test/unit: assert_match '.', 'a' #=> fails
minitest: assert_match '.', 'a' #=> passes

Index: lib/minitest/unit.rb

--- lib/minitest/unit.rb (revision 20290)
+++ lib/minitest/unit.rb (working copy)
@@ -118,7 +118,7 @@
def assert_match exp, act, msg = nil
msg = message(msg) { "Expected #{mu_pp(act)} to match #{mu_pp(exp)}" }
assert_respond_to act, :"=~"

  •  (exp = /#{exp}/) if String === exp && String === act
    
  •  (exp = /#{Regexp.escape(exp)}/) if String === exp && String === act
     assert act =~ exp, msg
    
    end
    =end
Actions

Also available in: Atom PDF