rspec-cells 0.1.7 → 0.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.
- checksums.yaml +7 -0
- data/.travis.yml +3 -2
- data/CHANGES.textile +11 -5
- data/Gemfile +2 -0
- data/README.rdoc +17 -7
- data/lib/rspec/cells/version.rb +3 -3
- data/lib/rspec/rails/example/cell_example_group.rb +10 -0
- data/spec/cells/cell_spec_spec.rb +7 -2
- metadata +9 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1564be294c56e4d6d9ec37b5d255b1fac024baa9
|
4
|
+
data.tar.gz: 88a422c60cea1dbe0b8913795f12dcb73cd5f60f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ca0dfebdf804751120b5eea100cb3bdc19844f637443f334bd55e451a59a329aeb3b66b008e7c3a128010ec80dd2af12db09918dec05766b99d8e42ded690b87
|
7
|
+
data.tar.gz: 6ba7cdb2edaa392b0eef00258fa775bbc88dd0ff779815af47486cdeedee2a59233419b6874bb5aeaae57531b275abc75b2a868a867900aeb0eceb81e2be1670
|
data/.travis.yml
CHANGED
data/CHANGES.textile
CHANGED
@@ -1,10 +1,16 @@
|
|
1
|
+
h2. 0.1.8
|
2
|
+
|
3
|
+
* Make @render_state@ return a Capybara string so it gets assertable.
|
4
|
+
|
5
|
+
h2. 0.1.7
|
6
|
+
|
1
7
|
h2. 0.1.6
|
2
8
|
|
3
9
|
* Minor internal fixes.
|
4
10
|
|
5
11
|
h2. 0.1.5
|
6
12
|
|
7
|
-
* Fixed generated test for namespaced cells.
|
13
|
+
* Fixed generated test for namespaced cells.
|
8
14
|
|
9
15
|
h2. 0.1.4
|
10
16
|
|
@@ -23,24 +29,24 @@ h2. 0.1.1
|
|
23
29
|
* Fixed indentation in generator. Thanks to Richard Huang [flyerhzm].
|
24
30
|
|
25
31
|
h2. 0.1.0
|
26
|
-
|
32
|
+
|
27
33
|
h3. Changes
|
28
34
|
* Removed @ViewAssigns@. Maintenance Release.
|
29
35
|
|
30
36
|
h2. 0.0.5
|
31
|
-
|
37
|
+
|
32
38
|
h3. Changes
|
33
39
|
* Works with RSpec-2.6 now, too.
|
34
40
|
* We no longer provide our own Capybara string matchers but delegate to @Capybara.string@. If you ever used the @==@ equality check, this won't work anymore. As a tradeoff, you get all string matchers Capybara comes up with, making rspec-cells forward-compatible.
|
35
41
|
|
36
42
|
|
37
43
|
h2. 0.0.4
|
38
|
-
|
44
|
+
|
39
45
|
h3. Changes
|
40
46
|
* Use Capybara's string matchers in your specs now (if you like)!
|
41
47
|
|
42
48
|
|
43
49
|
h2. 0.0.2
|
44
|
-
|
50
|
+
|
45
51
|
h3. Bugfixes
|
46
52
|
* Using a Railtie to correctly load rspec-cells. Caused a dependency problem with capybara before. Thanks to Steve Sloan [CodeMonkeySteve] for fixing and Brandon Dimcheff [bdimcheff] for debugging.
|
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -10,7 +10,7 @@ Cells is Rails' popular {view components framework}[http://github.com/apotonick/
|
|
10
10
|
|
11
11
|
= Installation
|
12
12
|
|
13
|
-
This gem runs with RSpec2 and Rails 3.x, so just add it to your app's +Gemfile+.
|
13
|
+
This gem runs with RSpec2 and Rails >= 3.x, so just add it to your app's +Gemfile+.
|
14
14
|
|
15
15
|
group :test do
|
16
16
|
gem "rspec-cells"
|
@@ -24,16 +24,26 @@ Simply put all your specs in the <tt>spec/cells</tt> directory. However, let the
|
|
24
24
|
|
25
25
|
will create an exemplary <tt>spec/cells/blog_post_cell_spec.rb</tt> for you.
|
26
26
|
|
27
|
-
== Webrat
|
28
27
|
|
29
|
-
|
28
|
+
== API
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
In your specs you can use +render_cell+ to assert the rendered markup (or whatever your state is supposed to do). This goes fine with Webrat matchers.
|
31
|
+
|
32
|
+
it "renders posts count" do
|
33
|
+
render_cell(:posts, :count).should have_selector("p", :content => "4 posts!")
|
34
|
+
end
|
35
|
+
|
36
|
+
You can create a cell instance using the +cell+ method, and then render afterwards. This is helpful when you're planning to stub things or if you need to pass arguments to the cell constructor.
|
37
|
+
|
38
|
+
it "renders empty posts list" do
|
39
|
+
posts = cell(:posts)
|
40
|
+
posts.stub(:recent_posts).and_return([])
|
41
|
+
|
42
|
+
posts.render_state(:count).should have_selector("p", :content => "No posts!")
|
35
43
|
end
|
36
44
|
|
45
|
+
After preparing the instance you can use +render_state+ for triggering the state.
|
46
|
+
|
37
47
|
== Capybara
|
38
48
|
|
39
49
|
If you want Capybara's string matchers be sure to bundle at least capybara +0.4.1+ in your Gemfile.
|
data/lib/rspec/cells/version.rb
CHANGED
@@ -36,6 +36,16 @@ module RSpec::Rails
|
|
36
36
|
def render_cell(*args)
|
37
37
|
Capybara.string super
|
38
38
|
end
|
39
|
+
|
40
|
+
def cell(*args)
|
41
|
+
CapybaraOutputCell.new(super)
|
42
|
+
end
|
43
|
+
|
44
|
+
class CapybaraOutputCell < SimpleDelegator
|
45
|
+
def render_state(*args)
|
46
|
+
Capybara.string(__getobj__.render_state(*args))
|
47
|
+
end
|
48
|
+
end
|
39
49
|
end
|
40
50
|
|
41
51
|
attr_reader :controller, :routes
|
@@ -3,7 +3,7 @@ require 'cells'
|
|
3
3
|
|
4
4
|
class DummyCell < Cell::Base
|
5
5
|
def show
|
6
|
-
"I'm Dummy
|
6
|
+
"<p>I'm Dummy.</p>"
|
7
7
|
end
|
8
8
|
|
9
9
|
def update(what)
|
@@ -27,7 +27,7 @@ module RSpec::Rails
|
|
27
27
|
|
28
28
|
describe "#render_cell" do
|
29
29
|
it "renders a state" do
|
30
|
-
group.new.render_cell(:dummy, :show).should == "I'm Dummy
|
30
|
+
group.new.render_cell(:dummy, :show).should == "<p>I'm Dummy.</p>"
|
31
31
|
end
|
32
32
|
|
33
33
|
it "allows passing state args" do
|
@@ -39,6 +39,11 @@ module RSpec::Rails
|
|
39
39
|
group.new.cell(:dummy).should be_kind_of(DummyCell)
|
40
40
|
end
|
41
41
|
|
42
|
+
# FIXME: could anyone make capybara/rails work in these tests?
|
43
|
+
# it "allows using matchers with #render_state" do
|
44
|
+
# cell(:dummy).render_state(:show).should have_selector("p")
|
45
|
+
# end
|
46
|
+
|
42
47
|
context "as a test writer" do
|
43
48
|
include CellExampleGroup
|
44
49
|
|
metadata
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-cells
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nick Sutterer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: railties
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '3.0'
|
22
20
|
- - <
|
@@ -25,9 +23,8 @@ dependencies:
|
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - '>='
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '3.0'
|
33
30
|
- - <
|
@@ -36,7 +33,6 @@ dependencies:
|
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: rspec-rails
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
37
|
- - ~>
|
42
38
|
- !ruby/object:Gem::Version
|
@@ -44,7 +40,6 @@ dependencies:
|
|
44
40
|
type: :runtime
|
45
41
|
prerelease: false
|
46
42
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
43
|
requirements:
|
49
44
|
- - ~>
|
50
45
|
- !ruby/object:Gem::Version
|
@@ -52,7 +47,6 @@ dependencies:
|
|
52
47
|
- !ruby/object:Gem::Dependency
|
53
48
|
name: cells
|
54
49
|
requirement: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
50
|
requirements:
|
57
51
|
- - ~>
|
58
52
|
- !ruby/object:Gem::Version
|
@@ -60,7 +54,6 @@ dependencies:
|
|
60
54
|
type: :runtime
|
61
55
|
prerelease: false
|
62
56
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
57
|
requirements:
|
65
58
|
- - ~>
|
66
59
|
- !ruby/object:Gem::Version
|
@@ -92,26 +85,25 @@ files:
|
|
92
85
|
- spec/spec_helper.rb
|
93
86
|
homepage: http://rubygems.org/gems/rspec-cells
|
94
87
|
licenses: []
|
88
|
+
metadata: {}
|
95
89
|
post_install_message:
|
96
90
|
rdoc_options: []
|
97
91
|
require_paths:
|
98
92
|
- lib
|
99
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
94
|
requirements:
|
102
|
-
- -
|
95
|
+
- - '>='
|
103
96
|
- !ruby/object:Gem::Version
|
104
97
|
version: '0'
|
105
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
99
|
requirements:
|
108
|
-
- -
|
100
|
+
- - '>='
|
109
101
|
- !ruby/object:Gem::Version
|
110
102
|
version: '0'
|
111
103
|
requirements: []
|
112
104
|
rubyforge_project: rspec-cells
|
113
|
-
rubygems_version:
|
105
|
+
rubygems_version: 2.0.3
|
114
106
|
signing_key:
|
115
|
-
specification_version:
|
107
|
+
specification_version: 4
|
116
108
|
summary: Spec your cells.
|
117
109
|
test_files: []
|