add onpdiff tests

This commit is contained in:
Régis Hanol 2013-12-16 18:39:49 +01:00
parent 206ef3dc08
commit ccd0f9c371
2 changed files with 39 additions and 4 deletions

View file

@ -15,11 +15,11 @@ class ONPDiff
end
def diff
@diff ||= build_diff_script(compose)
@diff ||= build_edit_script(compose)
end
def short_diff
@short_diff ||= build_short_diff_script(compose)
@short_diff ||= build_short_edit_script(compose)
end
private
@ -78,7 +78,7 @@ class ONPDiff
y
end
def build_diff_script(shortest_path)
def build_edit_script(shortest_path)
ses = []
x, y = 1, 1
px, py = 0, 0
@ -108,7 +108,7 @@ class ONPDiff
ses
end
def build_short_diff_script(shortest_path)
def build_short_edit_script(shortest_path)
ses = []
x, y = 1, 1
px, py = 0, 0

View file

@ -0,0 +1,35 @@
require 'spec_helper'
require 'onpdiff'
describe ONPDiff do
describe "diff" do
it "returns an empty array when there is no content to diff" do
ONPDiff.new("", "").diff.should == []
end
it "returns an array with the operation code for each element" do
ONPDiff.new("abcd", "abef").diff.should == [["a", :common], ["b", :common], ["e", :add], ["f", :add], ["c", :delete], ["d", :delete]]
end
end
describe "short_diff" do
it "returns an empty array when there is no content to diff" do
ONPDiff.new("", "").short_diff.should == []
end
it "returns an array with the operation code for each element" do
ONPDiff.new("abc", "acd").short_diff.should == [["a", :common], ["b", :delete], ["c", :common], ["d", :add]]
end
it "returns an array with sequencially similar operations merged" do
ONPDiff.new("abcd", "abef").short_diff.should == [["ab", :common], ["ef", :add], ["cd", :delete]]
end
end
end