rspec-rails-ext 1.7.1 → 1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +1 -0
- data/Manifest +2 -0
- data/README.rdoc +15 -1
- data/lib/rspec_rails_extensions/comparable_array.rb +27 -0
- data/rspec-rails-ext.gemspec +6 -6
- data/spec/lib/rspec_rails_extensions/comparable_array_spec.rb +29 -0
- metadata +20 -5
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/README.rdoc
CHANGED
@@ -79,4 +79,18 @@ These extra helpers let you write specifications in a more english-like manner.
|
|
79
79
|
response.should render_template('thingies/show')
|
80
80
|
end
|
81
81
|
|
82
|
-
Isn't that lovely?
|
82
|
+
Isn't that lovely?
|
83
|
+
|
84
|
+
== ComparableArray
|
85
|
+
|
86
|
+
Ever wanted to check an array contains the right elements, but not cared about the order they were returned? Enter ComparableArray!
|
87
|
+
|
88
|
+
ComparableArray.new([:foo, :bar]).should =~ [:bar, :foo]
|
89
|
+
|
90
|
+
And there's even a shorthand for it
|
91
|
+
|
92
|
+
(~[:foo, :bar]).should =~ [:bar, :foo]
|
93
|
+
|
94
|
+
It's not required by default, you need to explicity require it.
|
95
|
+
|
96
|
+
require "rspec_rails_extensions/comparable_array"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class ComparableArray
|
2
|
+
attr_reader :array
|
3
|
+
|
4
|
+
def initialize array
|
5
|
+
@array = array.dup
|
6
|
+
end
|
7
|
+
|
8
|
+
def =~ other_array
|
9
|
+
array.size == other_array.size && array.all? {|e| other_array.include?(e) }
|
10
|
+
end
|
11
|
+
|
12
|
+
def method_missing method, *args
|
13
|
+
if array.respond_to?(method)
|
14
|
+
array.send(method, *args)
|
15
|
+
else
|
16
|
+
super
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
module FuzzyArrayExtension
|
23
|
+
def ~@
|
24
|
+
ComparableArray.new(self)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
Array.send(:include, FuzzyArrayExtension)
|
data/rspec-rails-ext.gemspec
CHANGED
@@ -2,27 +2,27 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{rspec-rails-ext}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.8"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Rahoul Baruah, Caius Durling"]
|
9
|
-
s.date = %q{
|
9
|
+
s.date = %q{2010-08-10}
|
10
10
|
s.description = %q{Helpers for prettying up your RSpec-Rails specifications}
|
11
11
|
s.email = %q{support@brightbox.co.uk}
|
12
|
-
s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/controller_example_group.rb", "lib/mocks.rb", "lib/responses.rb", "lib/rspec_rails_extensions.rb", "lib/use_layout.rb"]
|
13
|
-
s.files = ["CHANGELOG", "LICENCE", "Manifest", "README.rdoc", "Rakefile", "lib/controller_example_group.rb", "lib/mocks.rb", "lib/responses.rb", "lib/rspec_rails_extensions.rb", "lib/use_layout.rb", "rspec-rails-ext.gemspec"]
|
12
|
+
s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/controller_example_group.rb", "lib/mocks.rb", "lib/responses.rb", "lib/rspec_rails_extensions.rb", "lib/rspec_rails_extensions/comparable_array.rb", "lib/use_layout.rb"]
|
13
|
+
s.files = ["CHANGELOG", "LICENCE", "Manifest", "README.rdoc", "Rakefile", "lib/controller_example_group.rb", "lib/mocks.rb", "lib/responses.rb", "lib/rspec_rails_extensions.rb", "lib/rspec_rails_extensions/comparable_array.rb", "lib/use_layout.rb", "rspec-rails-ext.gemspec", "spec/lib/rspec_rails_extensions/comparable_array_spec.rb"]
|
14
14
|
s.homepage = %q{http://github.com/brightbox/rspec-rails-extensions/tree/master}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rspec-rails-ext", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
17
17
|
s.rubyforge_project = %q{rspec-rails-ext}
|
18
|
-
s.rubygems_version = %q{1.3.
|
18
|
+
s.rubygems_version = %q{1.3.7}
|
19
19
|
s.summary = %q{Helpers for prettying up your RSpec-Rails specifications}
|
20
20
|
|
21
21
|
if s.respond_to? :specification_version then
|
22
22
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
23
|
s.specification_version = 3
|
24
24
|
|
25
|
-
if Gem::Version.new(Gem::
|
25
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
26
|
else
|
27
27
|
end
|
28
28
|
else
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../../lib/rspec_rails_extensions/comparable_array.rb")
|
2
|
+
|
3
|
+
describe ComparableArray do
|
4
|
+
describe "#=~" do
|
5
|
+
before { @a = ComparableArray.new([:foo, :bar]) }
|
6
|
+
it "should match identical array" do
|
7
|
+
(@a =~ [:foo, :bar]).should == true
|
8
|
+
end
|
9
|
+
it "should match array with same elements in different order" do
|
10
|
+
(@a =~ [:bar, :foo]).should == true
|
11
|
+
end
|
12
|
+
it "should not match array with different number of elements" do
|
13
|
+
(@a =~ [:foo, :bar, :sed]).should == false
|
14
|
+
end
|
15
|
+
it "should not match array with same number of different elements" do
|
16
|
+
(@a =~ [:foo, :sed]).should == false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe Array do
|
22
|
+
describe "~" do
|
23
|
+
it "should wrap self in ComparableArray" do
|
24
|
+
(~[]).should be_a_kind_of(ComparableArray)
|
25
|
+
(~[:foo]).should be_a_kind_of(ComparableArray)
|
26
|
+
(~[:foo]).array.should == [:foo]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails-ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 31
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 8
|
9
|
+
version: "1.8"
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Rahoul Baruah, Caius Durling
|
@@ -9,7 +14,7 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-08-10 00:00:00 +01:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
@@ -26,6 +31,7 @@ extra_rdoc_files:
|
|
26
31
|
- lib/mocks.rb
|
27
32
|
- lib/responses.rb
|
28
33
|
- lib/rspec_rails_extensions.rb
|
34
|
+
- lib/rspec_rails_extensions/comparable_array.rb
|
29
35
|
- lib/use_layout.rb
|
30
36
|
files:
|
31
37
|
- CHANGELOG
|
@@ -37,8 +43,10 @@ files:
|
|
37
43
|
- lib/mocks.rb
|
38
44
|
- lib/responses.rb
|
39
45
|
- lib/rspec_rails_extensions.rb
|
46
|
+
- lib/rspec_rails_extensions/comparable_array.rb
|
40
47
|
- lib/use_layout.rb
|
41
48
|
- rspec-rails-ext.gemspec
|
49
|
+
- spec/lib/rspec_rails_extensions/comparable_array_spec.rb
|
42
50
|
has_rdoc: true
|
43
51
|
homepage: http://github.com/brightbox/rspec-rails-extensions/tree/master
|
44
52
|
licenses: []
|
@@ -54,21 +62,28 @@ rdoc_options:
|
|
54
62
|
require_paths:
|
55
63
|
- lib
|
56
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
57
66
|
requirements:
|
58
67
|
- - ">="
|
59
68
|
- !ruby/object:Gem::Version
|
69
|
+
hash: 3
|
70
|
+
segments:
|
71
|
+
- 0
|
60
72
|
version: "0"
|
61
|
-
version:
|
62
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
63
75
|
requirements:
|
64
76
|
- - ">="
|
65
77
|
- !ruby/object:Gem::Version
|
78
|
+
hash: 11
|
79
|
+
segments:
|
80
|
+
- 1
|
81
|
+
- 2
|
66
82
|
version: "1.2"
|
67
|
-
version:
|
68
83
|
requirements: []
|
69
84
|
|
70
85
|
rubyforge_project: rspec-rails-ext
|
71
|
-
rubygems_version: 1.3.
|
86
|
+
rubygems_version: 1.3.7
|
72
87
|
signing_key:
|
73
88
|
specification_version: 3
|
74
89
|
summary: Helpers for prettying up your RSpec-Rails specifications
|