cells 3.8.6 → 3.8.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,22 +1,41 @@
1
1
  require 'test_helper'
2
2
 
3
- class ProducerCell < Cell::Base
4
- helper ::Cells::Helpers::CaptureHelper
3
+ class ProducerCell < Cell::Rails
4
+ #helper ::Cells::Helpers::CaptureHelper
5
5
 
6
- def logger(*args); puts args.inspect; end
7
6
  end
8
7
 
9
8
  class RailsCaptureTest < ActionController::TestCase
10
- context "A Rails controller rendering cells" do
11
- setup do
12
- @routes = ActionDispatch::Routing::RouteSet.new
13
- @routes.draw do
14
- |map| match ':action', :to => MusicianController
9
+ tests MusicianController
10
+
11
+ test "#content_for" do
12
+ @controller.class_eval do
13
+ def featured
14
+
15
+ render :inline => '<%= render_cell(:producer, :content_for, self) %><pre><%= yield :recorded %></pre>'
15
16
  end
16
- @controller = MusicianController.new
17
17
  end
18
18
 
19
- should "see content from global_capture" do
19
+ ProducerCell.class_eval do
20
+ def content_for(tpl);
21
+ puts tpl
22
+ @tpl = tpl
23
+
24
+ render; end
25
+
26
+ def global_content_for(*args, &block)
27
+ @tpl.content_for(*args, &block)
28
+ end
29
+ helper_method :global_content_for
30
+ end
31
+
32
+ get 'featured'
33
+ assert_equal "\n<pre>DummDooDiiDoo</pre>", @response.body
34
+ end
35
+
36
+
37
+ describe "what" do
38
+ it "see content from global_capture" do
20
39
  @controller.class_eval do
21
40
  def featured
22
41
  render :inline => '<h3><%= @recorded %></h3>' << render_cell(:producer, :capture)
@@ -32,7 +51,7 @@ class RailsCaptureTest < ActionController::TestCase
32
51
  end
33
52
 
34
53
 
35
- should "see yieldable content from global_content_for" do
54
+ it "see yieldable content from global_content_for" do
36
55
  @controller.class_eval do
37
56
  def featured
38
57
  render_cell(:producer, :content_for)
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class RailsCellsTest < ActiveSupport::TestCase
3
+ class RailsCellsTest < MiniTest::Spec
4
4
  include Cell::TestCase::TestMethods
5
5
 
6
6
  def swap(object, new_values)
@@ -16,8 +16,8 @@ class RailsCellsTest < ActiveSupport::TestCase
16
16
  end
17
17
  end
18
18
 
19
- context "#render_state" do
20
- should "work without args" do
19
+ describe "#render_state" do
20
+ it "work without args" do
21
21
  BassistCell.class_eval do
22
22
  def listen
23
23
  render :text => "That's a D!"
@@ -26,7 +26,7 @@ class RailsCellsTest < ActiveSupport::TestCase
26
26
  assert_equal "That's a D!", cell(:bassist).render_state(:listen)
27
27
  end
28
28
 
29
- should "accept state-args" do
29
+ it "accept state-args" do
30
30
  BassistCell.class_eval do
31
31
  def listen(args)
32
32
  render :text => args[:note]
@@ -35,7 +35,7 @@ class RailsCellsTest < ActiveSupport::TestCase
35
35
  assert_equal "D", cell(:bassist).render_state(:listen, :note => "D")
36
36
  end
37
37
 
38
- should "accept state-args with default parameters" do
38
+ it "accept state-args with default parameters" do
39
39
  BassistCell.class_eval do
40
40
  def listen(first, second="D")
41
41
  render :text => first+second
@@ -46,15 +46,15 @@ class RailsCellsTest < ActiveSupport::TestCase
46
46
  end
47
47
 
48
48
 
49
- context "A rails cell" do
50
- should "respond to DEFAULT_VIEW_PATHS" do
49
+ describe "A rails cell" do
50
+ it "respond to DEFAULT_VIEW_PATHS" do
51
51
  assert_equal ["app/cells"], Cell::Rails::DEFAULT_VIEW_PATHS
52
52
  end
53
53
 
54
- should "respond to .setup_view_paths!" do
54
+ it "respond to .setup_view_paths!" do
55
55
  swap( Cell::Rails, :view_paths => []) do
56
56
  Cell::Rails.setup_view_paths!
57
- if Cell.rails3_2_or_more?
57
+ if Cell.rails3_2_or_more? or Cell.rails4_0_or_more?
58
58
  assert_equal ActionView::PathSet.new(Cell::Rails::DEFAULT_VIEW_PATHS).paths, Cell::Rails.view_paths.paths
59
59
  else
60
60
  assert_equal ActionView::PathSet.new(Cell::Rails::DEFAULT_VIEW_PATHS), Cell::Rails.view_paths
@@ -62,28 +62,28 @@ class RailsCellsTest < ActiveSupport::TestCase
62
62
  end
63
63
  end
64
64
 
65
- should "respond to view_paths" do
65
+ it "respond to view_paths" do
66
66
  assert_kind_of ActionView::PathSet, Cell::Rails.view_paths, "must be a PathSet for proper template caching/reloading (see issue#2)"
67
67
  end
68
68
 
69
- should "respond to view_paths=" do
69
+ it "respond to view_paths=" do
70
70
  swap( Cell::Rails, :view_paths => ['you', 'are', 'here']) do
71
71
  assert_kind_of ActionView::PathSet, Cell::Rails.view_paths, "must not wipe out the PathSet"
72
72
  end
73
73
  end
74
74
 
75
- should "respond to #request" do
75
+ it "respond to #request" do
76
76
  assert_equal @request, cell(:bassist).request
77
77
  end
78
78
 
79
- should "respond to #config" do
79
+ it "respond to #config" do
80
80
  assert_equal({}, cell(:bassist).config)
81
81
  end
82
82
 
83
83
 
84
84
  if Cell.rails3_0?
85
- context "invoking find_family_view_for_state" do
86
- should "raise an error when a template is missing" do
85
+ describe "invoking find_family_view_for_state" do
86
+ it "raise an error when a template is missing" do
87
87
  assert_raises ActionView::MissingTemplate do
88
88
  cell(:bassist).find_template("bassist/playyy")
89
89
  end
@@ -91,39 +91,40 @@ class RailsCellsTest < ActiveSupport::TestCase
91
91
  #puts "format: #{cell(:bassist).find_template("bassist/play.js").formats.inspect}"
92
92
  end
93
93
 
94
- should "return play.html.erb" do
94
+ it "return play.html.erb" do
95
95
  assert_equal "bassist/play", cell(:bassist).send(:find_family_view_for_state, :play).virtual_path
96
96
  end
97
97
 
98
- should "find inherited play.html.erb" do
98
+ it "find inherited play.html.erb" do
99
99
  assert_equal "bassist/play", cell(:bad_guitarist).send(:find_family_view_for_state, :play).virtual_path
100
100
  end
101
101
  end
102
102
  end
103
103
 
104
- context "delegation" do
105
- setup do
104
+ describe "delegation" do
105
+ before do
106
106
  @request.env["action_dispatch.request.request_parameters"] = {:song => "Creatures"}
107
107
  @controller = Class.new(ActionController::Base).new
108
108
  @controller.request = @request
109
109
  @cell = cell(:bassist)
110
110
  end
111
111
 
112
- should_eventually "delegate log" do
112
+ it "delegate log" do
113
+ skip
113
114
  assert_nothing_raised do
114
115
  cell(:bassist).class.logger.info("everything is perfect!")
115
116
  end
116
117
  end
117
118
 
118
- should "respond to session" do
119
+ it "respond to session" do
119
120
  assert_kind_of Hash, @cell.session
120
121
  end
121
122
 
122
- should "respond to #params and return the request parameters" do
123
+ it "respond to #params and return the request parameters" do
123
124
  assert_equal({"song" => "Creatures"}, cell(:bassist).params)
124
125
  end
125
126
 
126
- should "not merge #params and #options" do
127
+ it "not merge #params and #options" do
127
128
  assert_equal({"song" => "Creatures"}, cell(:bassist, "song" => "Lockdown").params)
128
129
  end
129
130
  end
@@ -3,13 +3,13 @@ require 'test_helper'
3
3
  class RailsIntegrationTest < ActionController::TestCase
4
4
  tests MusicianController
5
5
 
6
- context "A Rails controller" do
7
- should "respond to #render_cell" do
6
+ describe "A Rails controller" do
7
+ it "respond to #render_cell" do
8
8
  get 'promotion'
9
9
  assert_equal "That's me, naked <img alt=\"Me\" src=\"/images/me.png\" />", @response.body
10
10
  end
11
11
 
12
- should "respond to #render_cell with arbitrary options" do
12
+ it "respond to #render_cell with arbitrary options" do
13
13
  BassistCell.class_eval do
14
14
  def enjoy(what, where="the bar")
15
15
  render :text => "I like #{what} in #{where}."
@@ -25,13 +25,13 @@ class RailsIntegrationTest < ActionController::TestCase
25
25
  assert_equal "I like The Stranglers in my room.", @response.body
26
26
  end
27
27
 
28
- should "be able to pass a block to #render_cell" do
28
+ it "be able to pass a block to #render_cell" do
29
29
  get 'promotion_with_block'
30
30
  assert_equal "Doo", @response.body
31
31
  assert_equal BassistCell, @controller.flag
32
32
  end
33
33
 
34
- should "respond to render_cell in the view without escaping twice" do
34
+ it "respond to render_cell in the view without escaping twice" do
35
35
  BassistCell.class_eval do
36
36
  def provoke; render; end
37
37
  end
@@ -39,12 +39,12 @@ class RailsIntegrationTest < ActionController::TestCase
39
39
  assert_equal "That's me, naked <img alt=\"Me\" src=\"/images/me.png\" />", @response.body
40
40
  end
41
41
 
42
- should "respond to render_cell with a block in the view" do
42
+ it "respond to render_cell with a block in the view" do
43
43
  get 'featured_with_block'
44
44
  assert_equal "Doo from BassistCell\n", @response.body
45
45
  end
46
46
 
47
- should "respond to render_cell in a haml view" do
47
+ it "respond to render_cell in a haml view" do
48
48
  BassistCell.class_eval do
49
49
  def provoke; render; end
50
50
  end
@@ -52,7 +52,7 @@ class RailsIntegrationTest < ActionController::TestCase
52
52
  assert_equal "That's me, naked <img alt=\"Me\" src=\"/images/me.png\" />\n", @response.body
53
53
  end
54
54
 
55
- should "make params (and friends) available in a cell" do
55
+ it "make params (and friends) available in a cell" do
56
56
  BassistCell.class_eval do
57
57
  def listen
58
58
  render :text => "That's a #{params[:note]}"
@@ -62,7 +62,7 @@ class RailsIntegrationTest < ActionController::TestCase
62
62
  assert_equal "That's a D", @response.body
63
63
  end
64
64
 
65
- should "respond to #config" do
65
+ it "respond to #config" do
66
66
  BassistCell.class_eval do
67
67
  def listen
68
68
  render :view => 'contact_form' # form_tag internally calls config.allow_forgery_protection
@@ -1,38 +1,39 @@
1
1
  require 'test_helper'
2
2
 
3
- class RailsRenderTest < ActiveSupport::TestCase
3
+ class RailsRenderTest < MiniTest::Spec
4
4
  include Cell::TestCase::TestMethods
5
5
 
6
- context "Invoking render" do
7
- should "render a plain view" do
6
+ describe "Invoking render" do
7
+ it "render a plain view" do
8
8
  BassistCell.class_eval do
9
9
  def play; render; end
10
10
  end
11
11
  assert_equal "Doo", render_cell(:bassist, :play)
12
12
  end
13
13
 
14
- should "accept :format" do
14
+ it "accept :format" do
15
15
  BassistCell.class_eval do
16
16
  def play; render :format => :js; end
17
17
  end
18
18
  assert_equal "alert(\"Doo\");\n", render_cell(:bassist, :play)
19
19
  end
20
20
 
21
- should_eventually "accept :format without messing up following render calls" do
21
+ it "accept :format without messing up following render calls" do
22
+ skip
22
23
  BassistCell.class_eval do
23
24
  def play; render(:format => :js) + render; end
24
25
  end
25
26
  assert_equal "alert(\"Doo\");\nDoo\n", render_cell(:bassist, :play)
26
27
  end
27
28
 
28
- should "also render alternative engines, like haml" do
29
+ it "also render alternative engines, like haml" do
29
30
  BassistCell.class_eval do
30
31
  def sing; render; end
31
32
  end
32
33
  assert_equal "<h1>Laaa</h1>\n", render_cell(:bassist, :sing)
33
34
  end
34
35
 
35
- should "accept the :nothing option" do
36
+ it "accept the :nothing option" do
36
37
  BassistCell.class_eval do
37
38
  def sleep; render :nothing => true; end
38
39
  end
@@ -40,14 +41,14 @@ class RailsRenderTest < ActiveSupport::TestCase
40
41
  end
41
42
 
42
43
 
43
- should "accept the :view option" do
44
+ it "accept the :view option" do
44
45
  BassistCell.class_eval do
45
46
  def solo; render :view => :play; end
46
47
  end
47
48
  assert_equal "Doo", render_cell(:bassist, :solo)
48
49
  end
49
50
 
50
- should "accept the :text options" do
51
+ it "accept the :text options" do
51
52
  BassistCell.class_eval do
52
53
  def sing; render :text => "Shoobie"; end
53
54
  end
@@ -55,14 +56,14 @@ class RailsRenderTest < ActiveSupport::TestCase
55
56
  assert render_cell(:bassist, :sing).html_safe?
56
57
  end
57
58
 
58
- should "accept the :inline option" do
59
+ it "accept the :inline option" do
59
60
  BassistCell.class_eval do
60
61
  def sleep; render :inline => "<%= 'Snooore' %>"; end
61
62
  end
62
63
  assert_equal "Snooore", render_cell(:bassist, :sleep)
63
64
  end
64
65
 
65
- should "accept the :state option with state-args" do
66
+ it "accept the :state option with state-args" do
66
67
  BassistCell.class_eval do
67
68
  def listen(band, song)
68
69
  render :text => "Listening to #{band}: #{song}"
@@ -80,7 +81,7 @@ class RailsRenderTest < ActiveSupport::TestCase
80
81
  assert_equal "Listening to Belvedere", render_cell(:bassist, :groove)
81
82
  end
82
83
 
83
- should "accept the :state option" do
84
+ it "accept the :state option" do
84
85
  BassistCell.class_eval do
85
86
  def play; render; end
86
87
  def groove; render :state => :play; end
@@ -88,7 +89,7 @@ class RailsRenderTest < ActiveSupport::TestCase
88
89
  assert_equal "Doo", render_cell(:bassist, :groove)
89
90
  end
90
91
 
91
- should "accept the :locals option" do
92
+ it "accept the :locals option" do
92
93
  BassistCell.class_eval do
93
94
  def ahem; render :locals => {:times => 2}; end
94
95
  end
@@ -97,14 +98,14 @@ class RailsRenderTest < ActiveSupport::TestCase
97
98
 
98
99
 
99
100
  # layout
100
- should "accept the :layout option" do
101
+ it "accept the :layout option" do
101
102
  BassistCell.class_eval do
102
103
  def play; render :layout => 'b'; end
103
104
  end
104
105
  assert_equal "<b>Doo</b>", render_cell(:bassist, :play)
105
106
  end
106
107
 
107
- should "respect the #layout class method" do
108
+ it "respect the #layout class method" do
108
109
  puts
109
110
  class VanHalenBassistCell < BassistCell
110
111
  layout 'b'
@@ -113,29 +114,32 @@ class RailsRenderTest < ActiveSupport::TestCase
113
114
  assert_equal "<b>Doo</b>", render_cell("rails_render_test/van_halen_bassist", :play)
114
115
  end
115
116
 
116
- should "raise an error for a non-existent template" do
117
+ it "raise an error for a non-existent template" do
117
118
  BassistCell.class_eval do
118
119
  def groove; render; end
119
120
  end
120
121
 
121
- assert_raises ActionView::MissingTemplate do
122
+ exception = ActionView::MissingTemplate
123
+ exception = Cell::VersionStrategy::MissingTemplate if Cell.rails3_0?
124
+
125
+ assert_raises exception do
122
126
  render_cell(:bassist, :groove)
123
127
  end
124
128
  end
125
129
 
126
- should "raise an error for a non-existent template" do
130
+ it "raise an error for a non-existent template" do
127
131
  BadGuitaristCell.class_eval do
128
132
  def groove; render; end
129
133
  end
130
134
 
131
135
  if Cell.rails3_0?
132
- e = assert_raise Cell::Rails::MissingTemplate do
136
+ e = assert_raises Cell::Rails::MissingTemplate do
133
137
  render_cell(:bad_guitarist, :groove)
134
138
  end
135
139
 
136
140
  assert_includes e.message, "Missing template bassist/groove with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml, :haml], :formats=>[:html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json], :locale=>[:en, :en]} in view paths"
137
141
  else # >= 3.1
138
- e = assert_raise ActionView::MissingTemplate do
142
+ e = assert_raises ActionView::MissingTemplate do
139
143
  render_cell(:bad_guitarist, :groove)
140
144
  end
141
145
 
@@ -143,7 +147,7 @@ class RailsRenderTest < ActiveSupport::TestCase
143
147
  end
144
148
  end
145
149
 
146
- should "render instance variables from the cell" do
150
+ it "render instance variables from the cell" do
147
151
  BassistCell.class_eval do
148
152
  def slap
149
153
  @note = "D"; render
@@ -152,7 +156,7 @@ class RailsRenderTest < ActiveSupport::TestCase
152
156
  assert_equal "Boing in D", render_cell(:bassist, :slap)
153
157
  end
154
158
 
155
- should "allow subsequent calls to render in the rendered view" do
159
+ it "allow subsequent calls to render in the rendered view" do
156
160
  BassistCell.class_eval do
157
161
  def jam; @chords = [:a, :c]; render; end
158
162
  def sing; render; end
@@ -160,7 +164,7 @@ class RailsRenderTest < ActiveSupport::TestCase
160
164
  assert_equal "<h1>Laaa</h1>\n\n<h1>Laaa</h1>\n\n", render_cell(:bassist, :jam)
161
165
  end
162
166
 
163
- should "allow multiple calls to render" do
167
+ it "allow multiple calls to render" do
164
168
  BassistCell.class_eval do
165
169
  def sing; render + render + render; end
166
170
  end
@@ -168,7 +172,7 @@ class RailsRenderTest < ActiveSupport::TestCase
168
172
  end
169
173
 
170
174
  # inheriting
171
- should "inherit play.html.erb from BassistCell" do
175
+ it "inherit play.html.erb from BassistCell" do
172
176
  BassistCell.class_eval do
173
177
  def play; render; end
174
178
  end
@@ -176,9 +180,9 @@ class RailsRenderTest < ActiveSupport::TestCase
176
180
  end
177
181
  end
178
182
 
179
- context "A cell view" do
183
+ describe "A cell view" do
180
184
  # rails view api
181
- should "allow calls to params/response/..." do
185
+ it "allow calls to params/response/..." do
182
186
  BassistCell.class_eval do
183
187
  def pose; render; end
184
188
  end