diff options
author | Paul Kunysch <kunysch@me.com> | 2013-04-20 22:09:54 +0200 |
---|---|---|
committer | Paul Kunysch <kunysch@me.com> | 2013-04-20 22:09:54 +0200 |
commit | 986cf913b7798d4cb244847eb0508a3fcafc9aa1 (patch) | |
tree | 614808a26ca9020d6e92a2823537e354b22a9f10 | |
parent | 12df45ec8edef0727b3cec2ff6f9ba0d6fff305f (diff) | |
download | diff-lcs-986cf913b7798d4cb244847eb0508a3fcafc9aa1.tar.gz |
Fix pruning of common sequences at start.
-rw-r--r-- | lib/diff/lcs/internals.rb | 1 | ||||
-rw-r--r-- | spec/diff_spec.rb | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/diff/lcs/internals.rb b/lib/diff/lcs/internals.rb index fe4ed9b..9d9e3f3 100644 --- a/lib/diff/lcs/internals.rb +++ b/lib/diff/lcs/internals.rb @@ -49,6 +49,7 @@ class << Diff::LCS::Internals (a[a_start] == b[b_start])) vector[a_start] = b_start a_start += 1 + b_start += 1 end b_start = a_start diff --git a/spec/diff_spec.rb b/spec/diff_spec.rb index e82ab3d..95d7b40 100644 --- a/spec/diff_spec.rb +++ b/spec/diff_spec.rb @@ -31,6 +31,12 @@ describe "Diff::LCS.diff" do change_diff(correct_diff).should == diff end + it "should correctly diff 'xx' and 'xaxb'" do + left = 'xx' + right = 'xaxb' + Diff::LCS.patch(left, Diff::LCS.diff(left, right)).should == right + end + it "should return an empty diff with (hello, hello)" do Diff::LCS.diff(hello, hello).should == [] end |