summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/diff/lcs.rb2
-rw-r--r--spec/traverse_sequences_spec.rb6
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