diff options
-rw-r--r-- | lib/diff/lcs.rb | 2 | ||||
-rw-r--r-- | spec/traverse_sequences_spec.rb | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/lib/diff/lcs.rb b/lib/diff/lcs.rb index 63888a1..f57ec08 100644 --- a/lib/diff/lcs.rb +++ b/lib/diff/lcs.rb @@ -292,7 +292,7 @@ class << Diff::LCS b_size = seq2.size ai = bj = 0 - (0..matches.size).each do |i| + (0...matches.size).each do |i| b_line = matches[i] ax = string ? seq1[i, 1] : seq1[i] diff --git a/spec/traverse_sequences_spec.rb b/spec/traverse_sequences_spec.rb index ea7a129..b185e1d 100644 --- a/spec/traverse_sequences_spec.rb +++ b/spec/traverse_sequences_spec.rb @@ -127,13 +127,11 @@ describe 'Diff::LCS.traverse_sequences' do end it 'has done markers differently-sized sequences' do - expect(@callback_s1_s2.done_a).to eq([['p', 9, 's', 10]]) + expect(@callback_s1_s2.done_a).to eq([['p', 9, 't', 11]]) expect(@callback_s1_s2.done_b).to be_empty - # 20110731 I don't yet understand why this particular behaviour - # isn't transitive. expect(@callback_s2_s1.done_a).to be_empty - expect(@callback_s2_s1.done_b).to be_empty + expect(@callback_s2_s1.done_b).to eq([['t', 11, 'p', 9]]) end end end |