Skip to content
This repository was archived by the owner on Oct 19, 2018. It is now read-only.

Commit c76c3e1

Browse files
committed
remove more spec duplication
1 parent ace4f87 commit c76c3e1

File tree

6 files changed

+49
-40
lines changed

6 files changed

+49
-40
lines changed

spec/react/component/base_spec.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,9 @@ def render
2525
@instance_data.join(" ")
2626
end
2727
end
28-
expect(rendered_component(Foo)).to eq("<span>working</span>")
29-
expect(rendered_component(Bar)).to eq("<span>working well</span>")
28+
expect(render_to_html(Foo)).to eq("<span>working</span>")
29+
expect(render_to_html(Bar)).to eq("<span>working well</span>")
3030
end
3131

32-
def rendered_component(component)
33-
React.render_to_static_markup(React.create_element(component))
34-
end
3532
end
3633
end

spec/react/component_spec.rb

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def render
120120
end
121121
end
122122

123-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>bar</div>')
123+
expect(render_to_html(Foo)).to eq('<div>bar</div>')
124124
end
125125

126126
it 'allows kernal method names like "format" to be used as state variable names' do
@@ -131,7 +131,7 @@ def render
131131
end
132132
end
133133

134-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>yes</div>')
134+
expect(render_to_html(Foo)).to eq('<div>yes</div>')
135135
end
136136

137137
it 'returns an observer with the bang method and no arguments' do
@@ -141,7 +141,7 @@ def render
141141
end
142142
end
143143

144-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>React::Observable</div>')
144+
expect(render_to_html(Foo)).to eq('<div>React::Observable</div>')
145145
end
146146

147147
it 'returns the current value of a state when written' do
@@ -152,15 +152,15 @@ def render
152152
end
153153
end
154154

155-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>bar</div>')
155+
expect(render_to_html(Foo)).to eq('<div>bar</div>')
156156
end
157157

158158
it 'can access an explicitly defined state`' do
159159
Foo.class_eval do
160160
define_state foo: :bar
161161
end
162162

163-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>bar</div>')
163+
expect(render_to_html(Foo)).to eq('<div>bar</div>')
164164
end
165165

166166
end
@@ -304,7 +304,7 @@ def render
304304
end
305305
end
306306

307-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>bar</div>')
307+
expect(render_to_html(Foo)).to eq('<div>bar</div>')
308308
end
309309

310310
it 'transforms state getter to Ruby object' do
@@ -320,7 +320,7 @@ def render
320320
end
321321
end
322322

323-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>Hello</div>')
323+
expect(render_to_html(Foo)).to eq('<div>Hello</div>')
324324
end
325325
end
326326

@@ -468,8 +468,8 @@ def render
468468
end
469469
end
470470

471-
expect(React.render_to_static_markup(React.create_element(Foo, foo: 'lorem'))).to eq('<div>lorem-bar</div>')
472-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>foo-bar</div>')
471+
expect(render_to_html(Foo, foo: 'lorem')).to eq('<div>lorem-bar</div>')
472+
expect(render_to_html(Foo)).to eq('<div>foo-bar</div>')
473473
end
474474
end
475475
end
@@ -596,7 +596,7 @@ def render
596596
end
597597
end
598598

599-
expect(React.render_to_static_markup(React.create_element(Bar))).to eq('<div><div><span>astring</span></div></div>')
599+
expect(render_to_html(Bar)).to eq('<div><div><span>astring</span></div></div>')
600600
end
601601

602602
it 'builds single node in top-level render without providing a block' do
@@ -609,8 +609,7 @@ def render
609609
end
610610
end
611611

612-
element = React.create_element(Foo)
613-
expect(React.render_to_static_markup(element)).to eq('<div></div>')
612+
expect(render_to_html(Foo)).to eq('<div></div>')
614613
end
615614

616615
it 'redefines `p` to make method missing work' do
@@ -627,9 +626,8 @@ def render
627626
end
628627
end
629628

630-
element = React.create_element(Foo)
631629
markup = '<p class="foo"><p></p><div>lorem ipsum</div><p id="10"></p></p>'
632-
expect(React.render_to_static_markup(element)).to eq(markup)
630+
expect(render_to_html(Foo)).to eq(markup)
633631
end
634632

635633
it 'only overrides `p` in render context' do

spec/react/dsl_spec.rb

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def render
1212
end
1313
end
1414

15-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>hello</div>')
15+
expect(render_to_html(Foo)).to eq('<div>hello</div>')
1616
end
1717

1818
it "has a .span short hand String method" do
@@ -24,7 +24,7 @@ def render
2424
end
2525
end
2626

27-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div><span>hello</span><span>goodby</span></div>')
27+
expect(render_to_html(Foo)).to eq('<div><span>hello</span><span>goodby</span></div>')
2828
end
2929

3030
it "has a .br short hand String method" do
@@ -36,7 +36,7 @@ def render
3636
end
3737
end
3838

39-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div><span>hello<br></span></div>')
39+
expect(render_to_html(Foo)).to eq('<div><span>hello<br></span></div>')
4040
end
4141

4242
it "has a .td short hand String method" do
@@ -48,7 +48,7 @@ def render
4848
end
4949
end
5050

51-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<table><tr><td>hello</td></tr></table>')
51+
expect(render_to_html(Foo)).to eq('<table><tr><td>hello</td></tr></table>')
5252
end
5353

5454
it "has a .para short hand String method" do
@@ -60,7 +60,25 @@ def render
6060
end
6161
end
6262

63-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div><p>hello</p></div>')
63+
expect(render_to_html(Foo)).to eq('<div><p>hello</p></div>')
64+
end
65+
66+
it "will treat the component class name as a first class component name" do
67+
stub_const 'Biz::Mod::Bar', Class.new
68+
Biz::Mod::Bar.class_eval do
69+
include React::Component
70+
def render
71+
"a man walks into a bar"
72+
end
73+
end
74+
stub_const 'Foo', Class.new(React::Component::Base)
75+
Foo.class_eval do
76+
def render
77+
Biz::Mod::Bar()
78+
end
79+
end
80+
81+
expect(render_to_html(Foo)).to eq('<span>a man walks into a bar</span>')
6482
end
6583

6684
it "will treat the component class name as a first class component name" do
@@ -78,7 +96,7 @@ def render
7896
end
7997
end
8098

81-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<span>a man walks into a bar</span>')
99+
expect(render_to_html(Foo)).to eq('<span>a man walks into a bar</span>')
82100
end
83101

84102
it "can add class names by the haml .class notation" do
@@ -96,7 +114,7 @@ def render
96114
end
97115
end
98116

99-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<span class="the-class">a man walks into a bar</span>')
117+
expect(render_to_html(Foo)).to eq('<span class="the-class">a man walks into a bar</span>')
100118
end
101119

102120
it "can use the 'class' keyword for classes" do
@@ -108,7 +126,7 @@ def render
108126
end
109127
end
110128

111-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<span class="the-class">hello</span>')
129+
expect(render_to_html(Foo)).to eq('<span class="the-class">hello</span>')
112130
end
113131

114132
it "can generate a unrendered node using the .as_node method" do # div { "hello" }.as_node
@@ -120,7 +138,7 @@ def render
120138
end
121139
end
122140

123-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<span>React::Element</span>')
141+
expect(render_to_html(Foo)).to eq('<span>React::Element</span>')
124142
end
125143

126144
it "can use the dangerously_set_inner_HTML param" do
@@ -132,7 +150,7 @@ def render
132150
end
133151
end
134152

135-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq('<div>Hello&nbsp;&nbsp;Goodby</div>')
153+
expect(render_to_html(Foo)).to eq('<div>Hello&nbsp;&nbsp;Goodby</div>')
136154
end
137155

138156
it "will remove all elements passed as params from the rendering buffer" do
@@ -155,7 +173,7 @@ def render
155173
end
156174
end
157175

158-
expect(React.render_to_static_markup(React.create_element(Test))).to eq('<div><b>hello</b><b>hello</b></div>')
176+
expect(render_to_html(Test)).to eq('<div><b>hello</b><b>hello</b></div>')
159177
end
160178
end
161179
end

spec/react/react_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def render
102102
end
103103
end
104104

105-
expect(React.render_to_static_markup(React.create_element(Foo))).to eq("<div>20</div>")
105+
expect(render_to_html(Foo)).to eq("<div>20</div>")
106106
end
107107

108108
it "should match the instance cycle to ReactComponent life cycle" do

spec/react/top_level_component_spec.rb

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
require 'spec_helper'
22

33
if opal?
4-
54
module Components
6-
75
module Controller
86
class Component1
97
include React::Component
@@ -40,10 +38,9 @@ def render
4038
end
4139
end
4240

43-
4441
def render_top_level(controller, component_name)
45-
React.render_to_static_markup(React.create_element(
46-
React::TopLevelRailsComponent, {controller: controller, component_name: component_name, render_params: {}}))
42+
render_to_html(React::TopLevelRailsComponent, controller: controller,
43+
component_name: component_name, render_params: {})
4744
end
4845

4946
describe React::TopLevelRailsComponent do
@@ -63,6 +60,5 @@ def render_top_level(controller, component_name)
6360
it 'can find the correct component when the name is fully qualified' do
6461
expect(render_top_level("Controller", "::Components::Component1")).to eq('<span>Components::Component1</span>')
6562
end
66-
6763
end
6864
end

spec/react/tutorial/tutorial_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ def render
1010

1111
describe 'An Example from the react.rb doc' do
1212
it 'produces the correct result' do
13-
expect(React.render_to_static_markup(React.create_element(HelloMessage))).to eq('<div>Hello World!</div>')
13+
expect(render_to_html(HelloMessage)).to eq('<div>Hello World!</div>')
1414
end
1515
end
1616

1717
class HelloMessage2
1818
include React::Component
1919
define_state(:user_name) { '@catmando' }
2020
def render
21-
div { "Hello #{user_name}" }
21+
div { "Hello #{state.user_name}" }
2222
end
2323
end
2424

2525
describe 'Adding state to a component (second tutorial example)' do
2626
it "produces the correct result" do
27-
expect(React.render_to_static_markup(React.create_element(HelloMessage2))).to eq('<div>Hello @catmando</div>')
27+
expect(render_to_html(HelloMessage2)).to eq('<div>Hello @catmando</div>')
2828
end
2929

3030
it 'renders to the document' do

0 commit comments

Comments
 (0)