diff options
-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 |