You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

437 lines
14 KiB

From 4683f35469dbb69fa291ea35be4e7a74090a8b24 Mon Sep 17 00:00:00 2001
From: Balasankar C <balasankarc@autistici.org>
Date: Sat, 28 Nov 2015 17:55:09 +0530
Subject: [PATCH] Port tests to RSpec 3
---
Rakefile | 2 +-
gemspec.yml | 2 +-
spec/diff_spec.rb | 226 ++++++++++++++++++++++----------------------
spec/spec_helper.rb | 2 +-
4 files changed, 116 insertions(+), 116 deletions(-)
diff --git a/Rakefile b/Rakefile
index 1b8a92d..7fb967c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -12,7 +12,7 @@ rescue LoadError => e
end
begin
- gem 'rspec', '~> 2.4'
+ gem 'rspec', '~> 3.0'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new
diff --git a/gemspec.yml b/gemspec.yml
index 5ae611d..d775248 100644
--- a/gemspec.yml
+++ b/gemspec.yml
@@ -18,5 +18,5 @@ dependencies:
development_dependencies:
rubygems-tasks: ~> 0.1
- rspec: ~> 2.4
+ rspec: ~> 3.0
yard: ~> 0.7
diff --git a/spec/diff_spec.rb b/spec/diff_spec.rb
index 6450c49..adfaaa8 100644
--- a/spec/diff_spec.rb
+++ b/spec/diff_spec.rb
@@ -21,197 +21,197 @@
let(:removed_attr) { Nokogiri::XML('<div><p>one</p></div>') }
it "should add #diff to Nokogiri::XML::Docuemnt" do
- doc.should respond_to(:diff)
+ expect(doc).to respond_to(:diff)
end
it "should add #diff to Nokogiri::XML::Element" do
- added_element.at('div').should respond_to(:diff)
+ expect(added_element.at('div')).to respond_to(:diff)
end
it "should add #diff to Nokogiri::XML::Text" do
- added_text.at('p/text()').should respond_to(:diff)
+ expect(added_text.at('p/text()')).to respond_to(:diff)
end
it "should add #diff to Nokogiri::XML::Attr" do
- added_attr.at('p/@id').should respond_to(:diff)
+ expect(added_attr.at('p/@id')).to respond_to(:diff)
end
it "should not compare the Document objects" do
change = doc.diff(doc).first
- change[0].should == ' '
- change[1].should == doc.root
+ expect(change[0]).to eq(' ')
+ expect(change[1]).to eq(doc.root)
end
it "should determine when two different documents are identical" do
- doc.diff(Nokogiri::XML(contents)).all? { |change,node|
+ expect(doc.diff(Nokogiri::XML(contents)).all? { |change,node|
change == ' '
- }.should == true
+ }).to eq(true)
end
it "should search down within Nokogiri::XML::Document objects" do
- doc.diff(changed_text).any? { |change,node|
+ expect(doc.diff(changed_text).any? { |change,node|
change != ' '
- }.should == true
+ }).to eq(true)
end
it "should determine when text nodes are added" do
changes = doc.at('div').diff(added_text.at('div')).to_a
- changes.length.should == 4
+ expect(changes.length).to eq(4)
- changes[0][0].should == ' '
- changes[0][1].should == doc.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(doc.at('div'))
- changes[1][0].should == ' '
- changes[1][1].should == doc.at('//p')
+ expect(changes[1][0]).to eq(' ')
+ expect(changes[1][1]).to eq(doc.at('//p'))
- changes[2][0].should == '+'
- changes[2][1].should == added_text.at('//div/text()')
+ expect(changes[2][0]).to eq('+')
+ expect(changes[2][1]).to eq(added_text.at('//div/text()'))
- changes[3][0].should == ' '
- changes[3][1].should == doc.at('//p/text()')
+ expect(changes[3][0]).to eq(' ')
+ expect(changes[3][1]).to eq(doc.at('//p/text()'))
end
it "should determine when elements are added" do
changes = doc.at('div').diff(added_element.at('div')).to_a
- changes.length.should == 5
+ expect(changes.length).to eq(5)
- changes[0][0].should == ' '
- changes[0][1].should == doc.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(doc.at('div'))
- changes[1][0].should == '+'
- changes[1][1].should == added_element.at('//p[1]')
+ expect(changes[1][0]).to eq('+')
+ expect(changes[1][1]).to eq(added_element.at('//p[1]'))
- changes[2][0].should == ' '
- changes[2][1].should == doc.at('//p')
+ expect(changes[2][0]).to eq(' ')
+ expect(changes[2][1]).to eq(doc.at('//p'))
- changes[3][0].should == '-'
- changes[3][1].should == doc.at('//p/text()')
+ expect(changes[3][0]).to eq('-')
+ expect(changes[3][1]).to eq(doc.at('//p/text()'))
- changes[4][0].should == '+'
- changes[4][1].should == added_element.at('//p[2]/text()')
+ expect(changes[4][0]).to eq('+')
+ expect(changes[4][1]).to eq(added_element.at('//p[2]/text()'))
end
it "should ignore when attribute order changes" do
changes = added_attrs.at('p').diff(changed_attr_order.at('p')).to_a
- changes.all? { |change| change[0] == ' ' }.should be_true
+ expect(changes.all? { |change| change[0] == ' ' }).to be_truthy
end
it "should determine when attributes are added" do
changes = doc.at('p').diff(added_attr.at('p')).to_a
- changes.length.should == 3
+ expect(changes.length).to eq(3)
- changes[0][0].should == ' '
- changes[0][1].should == doc.at('p')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(doc.at('p'))
- changes[1][0].should == '+'
- changes[1][1].should == added_attr.at('//p/@id')
+ expect(changes[1][0]).to eq('+')
+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
- changes[2][0].should == ' '
- changes[2][1].should == doc.at('//p/text()')
+ expect(changes[2][0]).to eq(' ')
+ expect(changes[2][1]).to eq(doc.at('//p/text()'))
end
it "should determine when text nodes differ" do
changes = doc.at('p').diff(changed_text.at('p')).to_a
- changes.length.should == 3
+ expect(changes.length).to eq(3)
- changes[0][0].should == ' '
- changes[0][1].should == doc.at('p')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(doc.at('p'))
- changes[1][0].should == '-'
- changes[1][1].should == doc.at('//p/text()')
+ expect(changes[1][0]).to eq('-')
+ expect(changes[1][1]).to eq(doc.at('//p/text()'))
- changes[2][0].should == '+'
- changes[2][1].should == changed_text.at('//p/text()')
+ expect(changes[2][0]).to eq('+')
+ expect(changes[2][1]).to eq(changed_text.at('//p/text()'))
end
it "should determine when element names differ" do
changes = doc.at('div').diff(changed_element.at('div')).to_a
- changes.length.should == 3
+ expect(changes.length).to eq(3)
- changes[0][0].should == ' '
- changes[0][1].should == doc.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(doc.at('div'))
- changes[1][0].should == '-'
- changes[1][1].should == doc.at('p')
+ expect(changes[1][0]).to eq('-')
+ expect(changes[1][1]).to eq(doc.at('p'))
- changes[2][0].should == '+'
- changes[2][1].should == changed_element.at('span')
+ expect(changes[2][0]).to eq('+')
+ expect(changes[2][1]).to eq(changed_element.at('span'))
end
it "should determine when attribute names differ" do
changes = added_attr.at('p').diff(changed_attr_name.at('p')).to_a
- changes.length.should == 4
+ expect(changes.length).to eq(4)
- changes[0][0].should == ' '
- changes[0][1].should == added_attr.at('p')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(added_attr.at('p'))
- changes[1][0].should == '-'
- changes[1][1].should == added_attr.at('//p/@id')
+ expect(changes[1][0]).to eq('-')
+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
- changes[2][0].should == '+'
- changes[2][1].should == changed_attr_name.at('//p/@i')
+ expect(changes[2][0]).to eq('+')
+ expect(changes[2][1]).to eq(changed_attr_name.at('//p/@i'))
- changes[3][0].should == ' '
- changes[3][1].should == added_attr.at('//p/text()')
+ expect(changes[3][0]).to eq(' ')
+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
end
it "should determine when attribute values differ" do
changes = added_attr.at('p').diff(changed_attr_value.at('p')).to_a
- changes.length.should == 4
+ expect(changes.length).to eq(4)
- changes[0][0].should == ' '
- changes[0][1].should == added_attr.at('p')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(added_attr.at('p'))
- changes[1][0].should == '-'
- changes[1][1].should == added_attr.at('//p/@id')
+ expect(changes[1][0]).to eq('-')
+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
- changes[2][0].should == '+'
- changes[2][1].should == changed_attr_value.at('//p/@id')
+ expect(changes[2][0]).to eq('+')
+ expect(changes[2][1]).to eq(changed_attr_value.at('//p/@id'))
- changes[3][0].should == ' '
- changes[3][1].should == added_attr.at('//p/text()')
+ expect(changes[3][0]).to eq(' ')
+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
end
it "should determine when text nodes are removed" do
changes = added_text.at('div').diff(removed_text.at('div')).to_a
- changes.length.should == 4
+ expect(changes.length).to eq(4)
- changes[0][0].should == ' '
- changes[0][1].should == added_text.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(added_text.at('div'))
- changes[1][0].should == ' '
- changes[1][1].should == added_text.at('p')
+ expect(changes[1][0]).to eq(' ')
+ expect(changes[1][1]).to eq(added_text.at('p'))
- changes[2][0].should == ' '
- changes[2][1].should == added_text.at('//div/text()')
+ expect(changes[2][0]).to eq(' ')
+ expect(changes[2][1]).to eq(added_text.at('//div/text()'))
- changes[3][0].should == '-'
- changes[3][1].should == added_text.at('//p/text()')
+ expect(changes[3][0]).to eq('-')
+ expect(changes[3][1]).to eq(added_text.at('//p/text()'))
end
it "should determine when elements are removed" do
changes = added_element.at('div').diff(removed_element.at('div')).to_a
- changes.length.should == 3
+ expect(changes.length).to eq(3)
- changes[0][0].should == ' '
- changes[0][1].should == added_element.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(added_element.at('div'))
- changes[1][0].should == '-'
- changes[1][1].should == added_element.at('//p[1]')
+ expect(changes[1][0]).to eq('-')
+ expect(changes[1][1]).to eq(added_element.at('//p[1]'))
- changes[2][0].should == '-'
- changes[2][1].should == added_element.at('//p[2]')
+ expect(changes[2][0]).to eq('-')
+ expect(changes[2][1]).to eq(added_element.at('//p[2]'))
end
it "should ignore when attributes change order" do
@@ -220,47 +220,47 @@
it "should determine when attributes are removed" do
changes = added_attr.at('div').diff(removed_attr.at('div')).to_a
- changes.length.should == 4
+ expect(changes.length).to eq(4)
- changes[0][0].should == ' '
- changes[0][1].should == added_attr.at('div')
+ expect(changes[0][0]).to eq(' ')
+ expect(changes[0][1]).to eq(added_attr.at('div'))
- changes[1][0].should == ' '
- changes[1][1].should == added_attr.at('p')
+ expect(changes[1][0]).to eq(' ')
+ expect(changes[1][1]).to eq(added_attr.at('p'))
- changes[2][0].should == '-'
- changes[2][1].should == added_attr.at('//p/@id')
+ expect(changes[2][0]).to eq('-')
+ expect(changes[2][1]).to eq(added_attr.at('//p/@id'))
- changes[3][0].should == ' '
- changes[3][1].should == added_attr.at('//p/text()')
+ expect(changes[3][0]).to eq(' ')
+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
end
context ":added" do
it "should determine only when text nodes are added" do
changes = doc.at('div').diff(added_text.at('div'), :added => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '+'
- changes[0][1].should == added_text.at('//div/text()')
+ expect(changes[0][0]).to eq('+')
+ expect(changes[0][1]).to eq(added_text.at('//div/text()'))
end
it "should determine only when elements are added" do
changes = doc.at('div').diff(added_element.at('div'), :added => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '+'
- changes[0][1].should == added_element.at('//div/p[2]')
+ expect(changes[0][0]).to eq('+')
+ expect(changes[0][1]).to eq(added_element.at('//div/p[2]'))
end
it "should determine only when attributes are added" do
changes = doc.at('div').diff(added_attr.at('div'), :added => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '+'
- changes[0][1].should == added_attr.at('//p/@id')
+ expect(changes[0][0]).to eq('+')
+ expect(changes[0][1]).to eq(added_attr.at('//p/@id'))
end
end
@@ -268,28 +268,28 @@
it "should determine only when text nodes are removed" do
changes = doc.at('div').diff(removed_text.at('div'), :removed => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '-'
- changes[0][1].should == doc.at('//p/text()')
+ expect(changes[0][0]).to eq('-')
+ expect(changes[0][1]).to eq(doc.at('//p/text()'))
end
it "should determine only when elements are removed" do
changes = doc.at('div').diff(removed_element.at('div'), :removed => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '-'
- changes[0][1].should == doc.at('//div/p')
+ expect(changes[0][0]).to eq('-')
+ expect(changes[0][1]).to eq(doc.at('//div/p'))
end
it "should determine only when attributes are removed" do
changes = added_attr.at('div').diff(removed_attr.at('div'), :removed => true).to_a
- changes.length.should == 1
+ expect(changes.length).to eq(1)
- changes[0][0].should == '-'
- changes[0][1].should == added_attr.at('//p/@id')
+ expect(changes[0][0]).to eq('-')
+ expect(changes[0][1]).to eq(added_attr.at('//p/@id'))
end
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 4b9ecea..5f26cbb 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,2 +1,2 @@
-gem 'rspec', '~> 2.4'
+gem 'rspec', '~> 3.0'
require 'rspec'