warp 1.0.1 → 1.1.0
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rspec +3 -0
- data/.travis.yml +35 -8
- data/Appraisals +67 -0
- data/Gemfile +4 -5
- data/README.md +57 -8
- data/Rakefile +4 -1
- data/gemfiles/rails_3.2_rspec_2.14.gemfile +22 -0
- data/gemfiles/rails_3.2_rspec_2.99.0.beta1.gemfile +22 -0
- data/gemfiles/rails_3.2_rspec_3.0.0.beta1.gemfile +23 -0
- data/gemfiles/rails_3.2_rspec_master.gemfile +23 -0
- data/gemfiles/rails_4.0_rspec_2.14.gemfile +22 -0
- data/gemfiles/rails_4.0_rspec_2.99.0.beta1.gemfile +22 -0
- data/gemfiles/rails_4.0_rspec_3.0.0.beta1.gemfile +23 -0
- data/gemfiles/rails_4.0_rspec_master.gemfile +23 -0
- data/gemfiles/rails_4.1.0.beta1_rspec_2.14.gemfile +23 -0
- data/gemfiles/rails_4.1.0.beta1_rspec_2.99.0.beta1.gemfile +23 -0
- data/gemfiles/rails_4.1.0.beta1_rspec_3.0.0.beta1.gemfile +24 -0
- data/gemfiles/rails_4.1.0.beta1_rspec_master.gemfile +24 -0
- data/lib/warp/controller_matchers/assign_matcher.rb +1 -3
- data/lib/warp/controller_matchers/set_flash_matcher.rb +19 -14
- data/lib/warp/matcher.rb +30 -0
- data/lib/warp/model_matchers/association_matcher.rb +56 -0
- data/lib/warp/model_matchers/attribute_matcher.rb +32 -0
- data/lib/warp/model_matchers/error_matcher.rb +12 -0
- data/lib/warp/model_matchers/matcher.rb +15 -0
- data/lib/warp/model_matchers/validation_matcher.rb +12 -0
- data/lib/warp/model_matchers.rb +10 -0
- data/lib/warp/version.rb +13 -1
- data/lib/warp.rb +4 -1
- data/spec/spec_helper.rb +15 -6
- data/spec/support/failure_message_helpers.rb +23 -0
- data/spec/support/match_helpers.rb +24 -12
- data/spec/support/model_helpers.rb +25 -0
- data/spec/support/with_contexts_helpers.rb +6 -0
- data/spec/warp/controller_matchers/assign_matcher_spec.rb +35 -33
- data/spec/warp/controller_matchers/set_flash_matcher_spec.rb +4 -12
- data/spec/warp/model_helpers/association_matcher_spec.rb +102 -0
- data/spec/warp/model_helpers/attribute_matcher_spec.rb +43 -0
- data/warp.gemspec +2 -4
- metadata +31 -33
- data/gemfiles/rails-3.2 +0 -17
- data/gemfiles/rails-4.0 +0 -17
- data/gemfiles/rails-4.1 +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f12aad08ee52c87c70887a3be0718247b7dc78d7
|
4
|
+
data.tar.gz: 3179971a7cd9251f48252413a27c15298c74d4ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9b2432dca61f39830d3514b83d99337b6397fda5942f333d06fe78bf296d8b483b32f155a2ec9937a80b3e5eeab4012cba89286cde5122c8f68e1369b5124f8
|
7
|
+
data.tar.gz: 6f45e4c01f15a0fc44a2e382ea67b5ce802a7d13d353ac7e7aaa26e35ee7bf290437794c839499454fd4dde6437e6066db2d5edddd77d77a82913556105bb7b8
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.travis.yml
CHANGED
@@ -1,21 +1,48 @@
|
|
1
1
|
language: ruby
|
2
|
+
|
3
|
+
env:
|
4
|
+
global:
|
5
|
+
- TRAVIS_CI=1
|
6
|
+
|
2
7
|
rvm:
|
3
8
|
- 1.9.2
|
4
9
|
- 1.9.3
|
5
10
|
- 2.0.0
|
6
11
|
- 2.1.0
|
12
|
+
|
7
13
|
gemfile:
|
8
|
-
- gemfiles/
|
9
|
-
- gemfiles/
|
10
|
-
- gemfiles/
|
11
|
-
-
|
14
|
+
- gemfiles/rails_3.2_rspec_2.14.gemfile
|
15
|
+
- gemfiles/rails_3.2_rspec_2.99.0.beta1.gemfile
|
16
|
+
- gemfiles/rails_3.2_rspec_3.0.0.beta1.gemfile
|
17
|
+
- gemfiles/rails_3.2_rspec_master.gemfile
|
18
|
+
- gemfiles/rails_4.0_rspec_2.14.gemfile
|
19
|
+
- gemfiles/rails_4.0_rspec_2.99.0.beta1.gemfile
|
20
|
+
- gemfiles/rails_4.0_rspec_3.0.0.beta1.gemfile
|
21
|
+
- gemfiles/rails_4.0_rspec_master.gemfile
|
22
|
+
- gemfiles/rails_4.1.0.beta1_rspec_2.14.gemfile
|
23
|
+
- gemfiles/rails_4.1.0.beta1_rspec_2.99.0.beta1.gemfile
|
24
|
+
- gemfiles/rails_4.1.0.beta1_rspec_3.0.0.beta1.gemfile
|
25
|
+
- gemfiles/rails_4.1.0.beta1_rspec_master.gemfile
|
26
|
+
|
12
27
|
matrix:
|
13
28
|
exclude:
|
14
29
|
- rvm: 1.9.2
|
15
|
-
gemfile: gemfiles/
|
30
|
+
gemfile: gemfiles/rails_4.0_rspec_2.14.gemfile
|
16
31
|
- rvm: 1.9.2
|
17
|
-
gemfile: gemfiles/
|
32
|
+
gemfile: gemfiles/rails_4.0_rspec_2.99.0.beta1.gemfile
|
18
33
|
- rvm: 1.9.2
|
19
|
-
gemfile:
|
34
|
+
gemfile: gemfiles/rails_4.0_rspec_3.0.0.beta1.gemfile
|
35
|
+
- rvm: 1.9.2
|
36
|
+
gemfile: gemfiles/rails_4.0_rspec_master.gemfile
|
37
|
+
- rvm: 1.9.2
|
38
|
+
gemfile: gemfiles/rails_4.1.0.beta1_rspec_2.14.gemfile
|
39
|
+
- rvm: 1.9.2
|
40
|
+
gemfile: gemfiles/rails_4.1.0.beta1_rspec_2.99.0.beta1.gemfile
|
41
|
+
- rvm: 1.9.2
|
42
|
+
gemfile: gemfiles/rails_4.1.0.beta1_rspec_3.0.0.beta1.gemfile
|
43
|
+
- rvm: 1.9.2
|
44
|
+
gemfile: gemfiles/rails_4.1.0.beta1_rspec_master.gemfile
|
45
|
+
|
20
46
|
bundler_args: --without tools
|
21
|
-
|
47
|
+
|
48
|
+
script: bundle exec rspec -b
|
data/Appraisals
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
class V
|
2
|
+
def initialize(*version_parts)
|
3
|
+
@version_parts = version_parts
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.[](version_string)
|
7
|
+
self.new(*version_string.split("."))
|
8
|
+
end
|
9
|
+
|
10
|
+
def gem_version
|
11
|
+
case @version_parts.size
|
12
|
+
when 2
|
13
|
+
"~> " + human_version
|
14
|
+
when 3, 4
|
15
|
+
human_version
|
16
|
+
else
|
17
|
+
raise Exception, "cannot generate gem version for #{human_version}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def human_version
|
22
|
+
@version_parts.join(".")
|
23
|
+
end
|
24
|
+
|
25
|
+
def git?
|
26
|
+
@version_parts.size == 1
|
27
|
+
end
|
28
|
+
|
29
|
+
def branch
|
30
|
+
@version_parts[0]
|
31
|
+
end
|
32
|
+
|
33
|
+
def major
|
34
|
+
@version_parts[0]
|
35
|
+
end
|
36
|
+
|
37
|
+
def minor
|
38
|
+
git? ? nil : @version_parts[1]
|
39
|
+
end
|
40
|
+
|
41
|
+
def mm
|
42
|
+
[major, minor].join(".")
|
43
|
+
end
|
44
|
+
|
45
|
+
def mm?(version)
|
46
|
+
mm == version
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
[V["3.2"], V["4.0"], V["4.1.0.beta1"]].each do |rails|
|
51
|
+
[V["2.14"], V["2.99.0.beta1"], V["3.0.0.beta1"], V["master"]].each do |rspec|
|
52
|
+
appraise "rails-#{rails.human_version}-rspec-#{rspec.human_version}" do
|
53
|
+
gem "activesupport", rails.gem_version, require: "active_support/all"
|
54
|
+
gem "actionpack", rails.gem_version, require: "action_controller"
|
55
|
+
gem "activerecord", rails.gem_version, require: "active_record"
|
56
|
+
gem "actionview", rails.gem_version, require: "action_view" if rails.mm?("4.1")
|
57
|
+
|
58
|
+
["rspec", "rspec-core", "rspec-expectations", "rspec-mocks", "rspec-support"].each do |rspec_gem|
|
59
|
+
if rspec.git?
|
60
|
+
gem rspec_gem, git: "https://github.com/rspec/#{rspec_gem}.git", branch: rspec.branch
|
61
|
+
elsif rspec_gem != "rspec-support" || rspec.mm?("3.0")
|
62
|
+
gem rspec_gem, rspec.gem_version
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/Gemfile
CHANGED
@@ -2,11 +2,10 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
gem "
|
6
|
-
|
7
|
-
gem "
|
8
|
-
gem "
|
9
|
-
gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
|
7
|
+
gem "simplecov", require: false
|
8
|
+
gem "coveralls", require: false
|
10
9
|
|
11
10
|
group :tools do
|
12
11
|
gem "guard"
|
data/README.md
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
# Warp
|
2
2
|
|
3
3
|
[](https://travis-ci.org/thomasfedb/warp)
|
4
|
+
[](https://coveralls.io/r/thomasfedb/warp?branch=master)
|
4
5
|
[](http://rubygems.org/gems/warp)
|
5
6
|
[](https://codeclimate.com/github/thomasfedb/warp)
|
6
7
|
|
7
8
|
RSpec Matchers to simplify writing unit and feature tests for your Rails applications.
|
8
9
|
|
9
|
-
Compatible with Ruby 1.9.2 and greater,
|
10
|
+
Compatible with Ruby 1.9.2 and greater, Rails 3.2 and greater, and RSpec 2.14.1 and greater.
|
10
11
|
|
11
12
|
## Installation
|
12
13
|
|
@@ -20,7 +21,9 @@ And then execute:
|
|
20
21
|
|
21
22
|
## Usage
|
22
23
|
|
23
|
-
###
|
24
|
+
### Controller Matchers
|
25
|
+
|
26
|
+
#### assigns(key)
|
24
27
|
|
25
28
|
Ensures that the specific assign is set:
|
26
29
|
|
@@ -28,7 +31,7 @@ Ensures that the specific assign is set:
|
|
28
31
|
specify { expect(controller).to assign(:posts) }
|
29
32
|
```
|
30
33
|
|
31
|
-
|
34
|
+
#### assigns(key).with(object)
|
32
35
|
|
33
36
|
Ensures that the specific assign is set with the specified value:
|
34
37
|
|
@@ -36,7 +39,7 @@ Ensures that the specific assign is set with the specified value:
|
|
36
39
|
specify { expect(controller).to assign(:posts).with(posts) }
|
37
40
|
```
|
38
41
|
|
39
|
-
|
42
|
+
#### assigns(key).with_a(klass)
|
40
43
|
|
41
44
|
Ensures that the specific assign is set with an instance of the specified class:
|
42
45
|
|
@@ -44,7 +47,7 @@ Ensures that the specific assign is set with an instance of the specified class:
|
|
44
47
|
specify { expect(controller).to assign(:post).with_a(Post) }
|
45
48
|
```
|
46
49
|
|
47
|
-
|
50
|
+
#### assigns(key).with_a_new(klass)
|
48
51
|
|
49
52
|
Ensures that the specific assign is set with a instance of the specified class that is not persisted:
|
50
53
|
|
@@ -52,14 +55,14 @@ Ensures that the specific assign is set with a instance of the specified class t
|
|
52
55
|
specify { expect(controller).to assign(:post).with_a_new(Post) }
|
53
56
|
```
|
54
57
|
|
55
|
-
|
58
|
+
#### set_flash(key)
|
56
59
|
|
57
60
|
Ensure that the specific flash key is set:
|
58
61
|
|
59
62
|
```ruby
|
60
63
|
specify { expect(controller).to set_flash(:notice) }
|
61
64
|
```
|
62
|
-
|
65
|
+
#### set_flash(key).to(value)
|
63
66
|
|
64
67
|
Ensure that the specific flash key is set:
|
65
68
|
|
@@ -67,6 +70,52 @@ Ensure that the specific flash key is set:
|
|
67
70
|
specify { expect(controller).to set_flash(:notice).to("Your order has been processed.") }
|
68
71
|
```
|
69
72
|
|
73
|
+
### Model Matchers
|
74
|
+
|
75
|
+
#### belongs_to(association)
|
76
|
+
|
77
|
+
Ensures that a `belongs_to` association is present:
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
specify { expect(comment).to belongs_to(:post) }
|
81
|
+
```
|
82
|
+
|
83
|
+
Works with either model classes or model objects.
|
84
|
+
|
85
|
+
#### have_many(association)
|
86
|
+
|
87
|
+
Ensures that a `has_many` association is present:
|
88
|
+
|
89
|
+
```ruby
|
90
|
+
specify { expect(post).to have_many(:comments) }
|
91
|
+
```
|
92
|
+
|
93
|
+
#### have_one(association)
|
94
|
+
|
95
|
+
Ensures that a `has_one` association is present:
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
specify { expect(person).to have_one(:address) }
|
99
|
+
```
|
100
|
+
|
101
|
+
#### have_and_belong_to_many(association)
|
102
|
+
|
103
|
+
Ensures that a `has_and_belongs_to_many` association is present:
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
specify { expect(group).to have_and_belong_to_many(:users) }
|
107
|
+
```
|
108
|
+
|
109
|
+
This matcher is not avaliable on Rails 4.1+, as these versions of Rails will create a `has_many :though` association instead of a 'has_and_belongs_to_many' association.
|
110
|
+
|
111
|
+
#### have_attribute(attribute)
|
112
|
+
|
113
|
+
Checks if a certain attribute is present on a model. Works against models or model instances.
|
114
|
+
|
115
|
+
```ruby
|
116
|
+
specify { expect(user).to have_attribute(:name) }
|
117
|
+
```
|
118
|
+
|
70
119
|
## Contributing
|
71
120
|
|
72
121
|
1. Fork it
|
@@ -74,4 +123,4 @@ specify { expect(controller).to set_flash(:notice).to("Your order has been proce
|
|
74
123
|
3. Add your feature and specs.
|
75
124
|
4. Commit your changes (`git commit -am 'Add some feature'`)
|
76
125
|
5. Push to the branch (`git push origin my-new-feature`)
|
77
|
-
6. Create new Pull Request
|
126
|
+
6. Create new Pull Request
|
data/Rakefile
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 3.2", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 3.2", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 3.2", :require=>"active_record"
|
11
|
+
gem "rspec", "~> 2.14"
|
12
|
+
gem "rspec-core", "~> 2.14"
|
13
|
+
gem "rspec-expectations", "~> 2.14"
|
14
|
+
gem "rspec-mocks", "~> 2.14"
|
15
|
+
|
16
|
+
group :tools do
|
17
|
+
gem "guard"
|
18
|
+
gem "guard-rspec"
|
19
|
+
gem "byebug"
|
20
|
+
end
|
21
|
+
|
22
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 3.2", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 3.2", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 3.2", :require=>"active_record"
|
11
|
+
gem "rspec", "2.99.0.beta1"
|
12
|
+
gem "rspec-core", "2.99.0.beta1"
|
13
|
+
gem "rspec-expectations", "2.99.0.beta1"
|
14
|
+
gem "rspec-mocks", "2.99.0.beta1"
|
15
|
+
|
16
|
+
group :tools do
|
17
|
+
gem "guard"
|
18
|
+
gem "guard-rspec"
|
19
|
+
gem "byebug"
|
20
|
+
end
|
21
|
+
|
22
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 3.2", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 3.2", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 3.2", :require=>"active_record"
|
11
|
+
gem "rspec", "3.0.0.beta1"
|
12
|
+
gem "rspec-core", "3.0.0.beta1"
|
13
|
+
gem "rspec-expectations", "3.0.0.beta1"
|
14
|
+
gem "rspec-mocks", "3.0.0.beta1"
|
15
|
+
gem "rspec-support", "3.0.0.beta1"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 3.2", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 3.2", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 3.2", :require=>"active_record"
|
11
|
+
gem "rspec", :git=>"https://github.com/rspec/rspec.git", :branch=>"master"
|
12
|
+
gem "rspec-core", :git=>"https://github.com/rspec/rspec-core.git", :branch=>"master"
|
13
|
+
gem "rspec-expectations", :git=>"https://github.com/rspec/rspec-expectations.git", :branch=>"master"
|
14
|
+
gem "rspec-mocks", :git=>"https://github.com/rspec/rspec-mocks.git", :branch=>"master"
|
15
|
+
gem "rspec-support", :git=>"https://github.com/rspec/rspec-support.git", :branch=>"master"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 4.0", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 4.0", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 4.0", :require=>"active_record"
|
11
|
+
gem "rspec", "~> 2.14"
|
12
|
+
gem "rspec-core", "~> 2.14"
|
13
|
+
gem "rspec-expectations", "~> 2.14"
|
14
|
+
gem "rspec-mocks", "~> 2.14"
|
15
|
+
|
16
|
+
group :tools do
|
17
|
+
gem "guard"
|
18
|
+
gem "guard-rspec"
|
19
|
+
gem "byebug"
|
20
|
+
end
|
21
|
+
|
22
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 4.0", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 4.0", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 4.0", :require=>"active_record"
|
11
|
+
gem "rspec", "2.99.0.beta1"
|
12
|
+
gem "rspec-core", "2.99.0.beta1"
|
13
|
+
gem "rspec-expectations", "2.99.0.beta1"
|
14
|
+
gem "rspec-mocks", "2.99.0.beta1"
|
15
|
+
|
16
|
+
group :tools do
|
17
|
+
gem "guard"
|
18
|
+
gem "guard-rspec"
|
19
|
+
gem "byebug"
|
20
|
+
end
|
21
|
+
|
22
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 4.0", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 4.0", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 4.0", :require=>"active_record"
|
11
|
+
gem "rspec", "3.0.0.beta1"
|
12
|
+
gem "rspec-core", "3.0.0.beta1"
|
13
|
+
gem "rspec-expectations", "3.0.0.beta1"
|
14
|
+
gem "rspec-mocks", "3.0.0.beta1"
|
15
|
+
gem "rspec-support", "3.0.0.beta1"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "~> 4.0", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "~> 4.0", :require=>"action_controller"
|
10
|
+
gem "activerecord", "~> 4.0", :require=>"active_record"
|
11
|
+
gem "rspec", :git=>"https://github.com/rspec/rspec.git", :branch=>"master"
|
12
|
+
gem "rspec-core", :git=>"https://github.com/rspec/rspec-core.git", :branch=>"master"
|
13
|
+
gem "rspec-expectations", :git=>"https://github.com/rspec/rspec-expectations.git", :branch=>"master"
|
14
|
+
gem "rspec-mocks", :git=>"https://github.com/rspec/rspec-mocks.git", :branch=>"master"
|
15
|
+
gem "rspec-support", :git=>"https://github.com/rspec/rspec-support.git", :branch=>"master"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "4.1.0.beta1", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "4.1.0.beta1", :require=>"action_controller"
|
10
|
+
gem "activerecord", "4.1.0.beta1", :require=>"active_record"
|
11
|
+
gem "actionview", "4.1.0.beta1", :require=>"action_view"
|
12
|
+
gem "rspec", "~> 2.14"
|
13
|
+
gem "rspec-core", "~> 2.14"
|
14
|
+
gem "rspec-expectations", "~> 2.14"
|
15
|
+
gem "rspec-mocks", "~> 2.14"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "4.1.0.beta1", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "4.1.0.beta1", :require=>"action_controller"
|
10
|
+
gem "activerecord", "4.1.0.beta1", :require=>"active_record"
|
11
|
+
gem "actionview", "4.1.0.beta1", :require=>"action_view"
|
12
|
+
gem "rspec", "2.99.0.beta1"
|
13
|
+
gem "rspec-core", "2.99.0.beta1"
|
14
|
+
gem "rspec-expectations", "2.99.0.beta1"
|
15
|
+
gem "rspec-mocks", "2.99.0.beta1"
|
16
|
+
|
17
|
+
group :tools do
|
18
|
+
gem "guard"
|
19
|
+
gem "guard-rspec"
|
20
|
+
gem "byebug"
|
21
|
+
end
|
22
|
+
|
23
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "4.1.0.beta1", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "4.1.0.beta1", :require=>"action_controller"
|
10
|
+
gem "activerecord", "4.1.0.beta1", :require=>"active_record"
|
11
|
+
gem "actionview", "4.1.0.beta1", :require=>"action_view"
|
12
|
+
gem "rspec", "3.0.0.beta1"
|
13
|
+
gem "rspec-core", "3.0.0.beta1"
|
14
|
+
gem "rspec-expectations", "3.0.0.beta1"
|
15
|
+
gem "rspec-mocks", "3.0.0.beta1"
|
16
|
+
gem "rspec-support", "3.0.0.beta1"
|
17
|
+
|
18
|
+
group :tools do
|
19
|
+
gem "guard"
|
20
|
+
gem "guard-rspec"
|
21
|
+
gem "byebug"
|
22
|
+
end
|
23
|
+
|
24
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal", "1.0.0.beta2"
|
6
|
+
gem "simplecov", :require=>false
|
7
|
+
gem "coveralls", :require=>false
|
8
|
+
gem "activesupport", "4.1.0.beta1", :require=>"active_support/all"
|
9
|
+
gem "actionpack", "4.1.0.beta1", :require=>"action_controller"
|
10
|
+
gem "activerecord", "4.1.0.beta1", :require=>"active_record"
|
11
|
+
gem "actionview", "4.1.0.beta1", :require=>"action_view"
|
12
|
+
gem "rspec", :git=>"https://github.com/rspec/rspec.git", :branch=>"master"
|
13
|
+
gem "rspec-core", :git=>"https://github.com/rspec/rspec-core.git", :branch=>"master"
|
14
|
+
gem "rspec-expectations", :git=>"https://github.com/rspec/rspec-expectations.git", :branch=>"master"
|
15
|
+
gem "rspec-mocks", :git=>"https://github.com/rspec/rspec-mocks.git", :branch=>"master"
|
16
|
+
gem "rspec-support", :git=>"https://github.com/rspec/rspec-support.git", :branch=>"master"
|
17
|
+
|
18
|
+
group :tools do
|
19
|
+
gem "guard"
|
20
|
+
gem "guard-rspec"
|
21
|
+
gem "byebug"
|
22
|
+
end
|
23
|
+
|
24
|
+
gemspec :path=>".././"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Warp
|
2
2
|
module ControllerMatchers
|
3
|
-
class AssignMatcher
|
4
|
-
include RSpec::Matchers::Composable
|
5
|
-
|
3
|
+
class AssignMatcher < Warp::Matcher
|
6
4
|
attr_reader :assign_key, :assign_with, :assign_with_a, :assign_with_a_new
|
7
5
|
attr_reader :controller, :failure_message, :failure_message_when_negated, :description
|
8
6
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Warp
|
2
2
|
module ControllerMatchers
|
3
|
-
class SetFlashMatcher
|
4
|
-
include RSpec::Matchers::Composable
|
5
|
-
|
3
|
+
class SetFlashMatcher < Warp::Matcher
|
6
4
|
attr_reader :flash_key, :expected_flash_value
|
7
5
|
attr_reader :controller, :failure_message, :failure_message_when_negated, :description
|
8
6
|
|
@@ -19,21 +17,28 @@ module Warp
|
|
19
17
|
def matches?(actual)
|
20
18
|
@controller = actual if actual.is_a?(ActionController::Metal)
|
21
19
|
|
22
|
-
if expected_flash_value
|
23
|
-
|
24
|
-
@failure_message = "expected flash[:#{flash_key}] to be set to #{expected_flash_value.inspect}"
|
25
|
-
@failure_message_when_negated = "expected flash[:#{flash_key}] to not be set to #{expected_flash_value.inspect}"
|
26
|
-
values_match?(expected_flash_value, flash_value)
|
27
|
-
else
|
28
|
-
@description = "set flash[:#{flash_key}]"
|
29
|
-
@failure_message = "expected flash[:#{flash_key}] to be set"
|
30
|
-
@failure_message_when_negated = "expected flash[:#{flash_key}] to not be set"
|
31
|
-
values_match?(false, flash_value.nil?)
|
32
|
-
end
|
20
|
+
return check_expected_value if expected_flash_value
|
21
|
+
return check_assigned
|
33
22
|
end
|
34
23
|
|
35
24
|
private
|
36
25
|
|
26
|
+
def check_expected_value
|
27
|
+
@description = "set flash[:#{flash_key}] to #{expected_flash_value.inspect}"
|
28
|
+
@failure_message = "expected flash[:#{flash_key}] to be set to #{expected_flash_value.inspect}"
|
29
|
+
@failure_message_when_negated = "expected flash[:#{flash_key}] to not be set to #{expected_flash_value.inspect}"
|
30
|
+
|
31
|
+
values_match?(expected_flash_value, flash_value)
|
32
|
+
end
|
33
|
+
|
34
|
+
def check_assigned
|
35
|
+
@description = "set flash[:#{flash_key}]"
|
36
|
+
@failure_message = "expected flash[:#{flash_key}] to be set"
|
37
|
+
@failure_message_when_negated = "expected flash[:#{flash_key}] to not be set"
|
38
|
+
|
39
|
+
values_match?(false, flash_value.nil?)
|
40
|
+
end
|
41
|
+
|
37
42
|
def flash_value
|
38
43
|
flash[flash_key]
|
39
44
|
end
|