rspec-cells 0.1.4 → 0.1.5
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/CHANGES.textile
CHANGED
@@ -5,8 +5,12 @@ module Rspec
|
|
5
5
|
class CellGenerator < ::Cells::Generators::Base
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
+
def cell_name
|
9
|
+
class_path.empty? ? ":#{file_path}" : %{"#{file_path}"}
|
10
|
+
end
|
11
|
+
|
8
12
|
def create_cell_spec_file
|
9
|
-
template "cell_spec.erb", File.join("spec/cells/#{
|
13
|
+
template "cell_spec.erb", File.join("spec/cells/#{file_path}_cell_spec.rb")
|
10
14
|
end
|
11
15
|
end
|
12
16
|
end
|
@@ -1,22 +1,32 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe <%= class_name %>Cell do
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
context "cell instance" do
|
6
|
+
subject { cell(<%= cell_name %>) }
|
7
|
+
|
8
|
+
<%- for state in actions -%>
|
9
|
+
it { should respond_to(:<%= state %>) }
|
10
|
+
<%- end -%>
|
11
|
+
end
|
12
|
+
|
13
|
+
context "cell rendering" do
|
14
|
+
<%- actions.each_with_index do |state, index| -%>
|
6
15
|
context "rendering <%= state %>" do
|
7
|
-
subject { render_cell(
|
8
|
-
|
16
|
+
subject { render_cell(<%= cell_name %>, :<%= state %>) }
|
17
|
+
|
18
|
+
<%- if defined?(Capybara) -%>
|
19
|
+
it { should have_selector("h1", :text => "<%= class_name %>#<%= state %>") }
|
20
|
+
it { should have_selector("p", :text => "Find me in app/cells/<%= file_path %>/<%= state %>.html") }
|
21
|
+
<%- else -%>
|
9
22
|
it { should have_selector("h1", :content => "<%= class_name %>#<%= state %>") }
|
10
|
-
it { should have_selector("p", :content => "Find me in app/cells/<%=
|
23
|
+
it { should have_selector("p", :content => "Find me in app/cells/<%= file_path %>/<%= state %>.html") }
|
24
|
+
<%- end -%>
|
11
25
|
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
26
|
+
<%- unless index == actions.length - 1 -%>
|
15
27
|
|
16
|
-
|
17
|
-
|
18
|
-
<% for state in actions %>
|
19
|
-
it { should respond_to(:<%= state %>) }
|
20
|
-
<% end %>
|
28
|
+
<%- end -%>
|
29
|
+
<%- end -%>
|
21
30
|
end
|
31
|
+
|
22
32
|
end
|
data/lib/rspec/cells/version.rb
CHANGED
@@ -13,46 +13,137 @@ describe Rspec::Generators::CellGenerator do
|
|
13
13
|
test_case.destination_root = DESTINATION_ROOT
|
14
14
|
test_case.generator_class = Rspec::Generators::CellGenerator
|
15
15
|
self.test = test_case.new :wow
|
16
|
-
test.run_generator %w(Twitter display form)
|
17
|
-
end
|
18
|
-
|
19
|
-
# Cleanup after we are done testing
|
20
|
-
after(:all) do
|
21
|
-
FileUtils.rm_rf(DESTINATION_ROOT)
|
22
16
|
end
|
23
17
|
|
24
18
|
def t(line_code)
|
25
19
|
Regexp.new(Regexp.escape(line_code))
|
26
20
|
end
|
27
21
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
22
|
+
context "When defined Capybara" do
|
23
|
+
before(:all) do
|
24
|
+
class ::Capybara; end
|
25
|
+
test.run_generator %w(Twitter display form)
|
26
|
+
end
|
27
|
+
|
28
|
+
after(:all) do
|
29
|
+
FileUtils.rm_rf(DESTINATION_ROOT) # Cleanup after we are done testing
|
30
|
+
Object.send(:remove_const, :"Capybara")
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'creates respond_to states specs' do
|
34
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell instance" do')
|
35
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { cell(:twitter) }')
|
36
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:display) }')
|
37
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:form) }')
|
38
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
39
|
+
end
|
34
40
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
+
it "creates widget spec" do
|
42
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t("require 'spec_helper'")
|
43
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('describe TwitterCell do')
|
44
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell rendering" do')
|
45
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'creates display state' do
|
49
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering display" do')
|
50
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :display) }')
|
51
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :text => "Twitter#display") }')
|
52
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :text => "Find me in app/cells/twitter/display.html") }')
|
53
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'creates form state' do
|
57
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering form" do')
|
58
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :form) }')
|
59
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :text => "Twitter#form") }')
|
60
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :text => "Find me in app/cells/twitter/form.html") }')
|
61
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
62
|
+
end
|
41
63
|
end
|
42
64
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
65
|
+
context "When not defined Capybara" do
|
66
|
+
before(:all) do
|
67
|
+
test.run_generator %w(Twitter display form)
|
68
|
+
end
|
69
|
+
|
70
|
+
after(:all) do
|
71
|
+
FileUtils.rm_rf(DESTINATION_ROOT) # Cleanup after we are done testing
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'creates respond_to states specs' do
|
75
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell instance" do')
|
76
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { cell(:twitter) }')
|
77
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:display) }')
|
78
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should respond_to(:form) }')
|
79
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
80
|
+
end
|
81
|
+
|
82
|
+
it "creates widget spec" do
|
83
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t("require 'spec_helper'")
|
84
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('describe TwitterCell do')
|
85
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "cell rendering" do')
|
86
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'creates display state' do
|
90
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering display" do')
|
91
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :display) }')
|
92
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :content => "Twitter#display") }')
|
93
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :content => "Find me in app/cells/twitter/display.html") }')
|
94
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'creates form state' do
|
98
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('context "rendering form" do')
|
99
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { render_cell(:twitter, :form) }')
|
100
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("h1", :content => "Twitter#form") }')
|
101
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { should have_selector("p", :content => "Find me in app/cells/twitter/form.html") }')
|
102
|
+
test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
103
|
+
end
|
49
104
|
end
|
50
105
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
106
|
+
context "When uses namespace" do
|
107
|
+
|
108
|
+
before(:all) do
|
109
|
+
test.run_generator %w(Forum::Comment display form)
|
110
|
+
end
|
111
|
+
|
112
|
+
after(:all) do
|
113
|
+
FileUtils.rm_rf(DESTINATION_ROOT) # Cleanup after we are done testing
|
114
|
+
end
|
115
|
+
|
116
|
+
GENERATED_FILE = "spec/cells/forum/comment_cell_spec.rb"
|
117
|
+
|
118
|
+
it 'creates respond_to states specs' do
|
119
|
+
test.assert_file GENERATED_FILE, t('context "cell instance" do')
|
120
|
+
test.assert_file GENERATED_FILE, t('subject { cell("forum/comment") }')
|
121
|
+
test.assert_file GENERATED_FILE, t('it { should respond_to(:display) }')
|
122
|
+
test.assert_file GENERATED_FILE, t('it { should respond_to(:form) }')
|
123
|
+
test.assert_file GENERATED_FILE, t('end')
|
124
|
+
end
|
125
|
+
|
126
|
+
it "creates widget spec" do
|
127
|
+
test.assert_file GENERATED_FILE, t("require 'spec_helper'")
|
128
|
+
test.assert_file GENERATED_FILE, t('describe Forum::CommentCell do')
|
129
|
+
test.assert_file GENERATED_FILE, t('context "cell rendering" do')
|
130
|
+
test.assert_file GENERATED_FILE, t('end')
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'creates display state' do
|
134
|
+
test.assert_file GENERATED_FILE, t('context "rendering display" do')
|
135
|
+
test.assert_file GENERATED_FILE, t('subject { render_cell("forum/comment", :display) }')
|
136
|
+
test.assert_file GENERATED_FILE, t('it { should have_selector("h1", :content => "Forum::Comment#display") }')
|
137
|
+
test.assert_file GENERATED_FILE, t('it { should have_selector("p", :content => "Find me in app/cells/forum/comment/display.html") }')
|
138
|
+
test.assert_file GENERATED_FILE, t('end')
|
139
|
+
end
|
140
|
+
|
141
|
+
it 'creates form state' do
|
142
|
+
test.assert_file GENERATED_FILE, t('context "rendering form" do')
|
143
|
+
test.assert_file GENERATED_FILE, t('subject { render_cell("forum/comment", :form) }')
|
144
|
+
test.assert_file GENERATED_FILE, t('it { should have_selector("h1", :content => "Forum::Comment#form") }')
|
145
|
+
test.assert_file GENERATED_FILE, t('it { should have_selector("p", :content => "Find me in app/cells/forum/comment/form.html") }')
|
146
|
+
test.assert_file GENERATED_FILE, t('end')
|
147
|
+
end
|
57
148
|
end
|
58
149
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-cells
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|