From ccd0f9c371fb135f41bdce87db6041a62a0bb0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Mon, 16 Dec 2013 18:39:49 +0100 Subject: [PATCH] add onpdiff tests --- lib/onpdiff.rb | 8 ++++---- spec/components/onpdiff_spec.rb | 35 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 spec/components/onpdiff_spec.rb diff --git a/lib/onpdiff.rb b/lib/onpdiff.rb index 04fd812ea..ab5ee6d4e 100644 --- a/lib/onpdiff.rb +++ b/lib/onpdiff.rb @@ -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 diff --git a/spec/components/onpdiff_spec.rb b/spec/components/onpdiff_spec.rb new file mode 100644 index 000000000..2ca73cc68 --- /dev/null +++ b/spec/components/onpdiff_spec.rb @@ -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 +