summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/lib/minitest/unit.rb2
-rw-r--r--test/minitest/test_minitest_unit.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/test/lib/minitest/unit.rb b/test/lib/minitest/unit.rb
index 25fd15d093..6ba1c707e6 100644
--- a/test/lib/minitest/unit.rb
+++ b/test/lib/minitest/unit.rb
@@ -179,7 +179,7 @@ module MiniTest
# uses mu_pp to do the first pass and then cleans it up.
def mu_pp_for_diff obj
- mu_pp(obj).gsub(/\\n/, "\n").gsub(/:0x[a-fA-F0-9]{4,}/m, ':0xXXXXXX')
+ mu_pp(obj).gsub(/(?<!\\)(?:\\\\)*\K\\n/, "\n").gsub(/:0x[a-fA-F0-9]{4,}/m, ':0xXXXXXX')
end
def _assertions= n # :nodoc:
diff --git a/test/minitest/test_minitest_unit.rb b/test/minitest/test_minitest_unit.rb
index d790a377c7..c6c8830f20 100644
--- a/test/minitest/test_minitest_unit.rb
+++ b/test/minitest/test_minitest_unit.rb
@@ -868,6 +868,13 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase
end
end
+ def test_assert_equal_different_escaped_newline
+ msg = "--- expected\n+++ actual\n@@ -1,2 +1,2 @@\n \"xxx\n-a\\\\nb\"\n+a\\\\nc\"\n"
+ util_assert_triggered msg do
+ @tc.assert_equal "xxx\na\\nb", "xxx\na\\nc"
+ end
+ end
+
def test_assert_in_delta
@tc.assert_in_delta 0.0, 1.0 / 1000, 0.1
end