Files
redux-scraper/gems/xdiff-rb/test/xdiff_test.rb
2025-01-01 03:29:53 +00:00

34 lines
857 B
Ruby

# typed: true
require "minitest/autorun"
require "xdiff"
class TestXDiff < Minitest::Test
def assert_patches(a, b)
diff = XDiff.diff(a, b)
diff_hex = diff.unpack("H*").first
puts "diff (#{diff.size}): #{diff_hex}"
refute_equal "", diff
stitched = XDiff.patch(a, diff)
assert_equal b, stitched
end
def test_raises
assert_raises(ArgumentError) { XDiff.patch(nil, "") }
assert_raises(ArgumentError) { XDiff.patch("", nil) }
assert_raises(ArgumentError) { XDiff.patch("", 123) }
assert_raises(ArgumentError) { XDiff.patch(123, "") }
end
def test_patch
assert_patches("foo bar", "foo bar")
assert_patches("", "")
assert_patches("foo", "")
assert_patches("", "foo")
assert_patches("abc\x00123", "123")
assert_patches("abc\x00123", "\x00")
assert_patches("\x00", "\x00")
end
end