1 require File.dirname(__FILE__) + '/../../../spec_helper.rb'
6 def initialize(name,species)
7 @name,@species = name,species
24 @options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new)
25 @differ = Spec::Expectations::Differs::Default.new(@options)
28 it "should output unified diff of two strings" do
29 expected="foo\nbar\nzap\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nline\n"
30 actual="foo\nzap\nbar\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nanother\nline\n"
31 expected_diff="\n\n@@ -1,6 +1,6 @@\n foo\n-bar\n zap\n+bar\n this\n is\n soo\n@@ -9,5 +9,6 @@\n equal\n insert\n a\n+another\n line\n"
32 diff = @differ.diff_as_string(expected, actual)
33 diff.should eql(expected_diff)
36 it "should output unified diff message of two arrays" do
37 expected = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'charlie', :width, 'quite wide' ]
38 actual = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'tango' , :width, 'very wide' ]
40 expected_diff = <<'EOD'
55 diff = @differ.diff_as_object(expected,actual)
56 diff.should == expected_diff
59 it "should output unified diff message of two objects" do
60 expected = Spec::Fixtures::Animal.new "bob", "giraffe"
61 actual = Spec::Fixtures::Animal.new "bob", "tortoise"
63 expected_diff = <<'EOD'
73 diff = @differ.diff_as_object(expected,actual)
74 diff.should == expected_diff
80 describe "Diff in context format" do
82 @options = Spec::Runner::Options.new(StringIO.new, StringIO.new)
83 @options.diff_format = :context
84 @differ = Spec::Expectations::Differs::Default.new(@options)
87 it "should output unified diff message of two objects" do
88 expected = Spec::Fixtures::Animal.new "bob", "giraffe"
89 actual = Spec::Fixtures::Animal.new "bob", "tortoise"
91 expected_diff = <<'EOD'
106 diff = @differ.diff_as_object(expected,actual)
107 diff.should == expected_diff