-
Notifications
You must be signed in to change notification settings - Fork 43
/
externalsspec.txt
37 lines (33 loc) · 1.2 KB
/
externalsspec.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
describe Erector::Externals do
class Dinner < Erector::Widget
external :js, "/dinner.js"
def content
span "dinner"
widget Dessert
end
end
class Dessert < Erector::Widget
external :js, "/dessert.js"
external :css, "/dessert.css"
def content
span "dessert"
end
end
it "#render_with_externals sticks the externals for all its rendered sub-widgets at the end of the output buffer" do
s = Dinner.new.render_with_externals
s.to_s.should ==
"<span>dinner</span>" +
"<span>dessert</span>" +
"<link href=\"/dessert.css\" media=\"all\" rel=\"stylesheet\" type=\"text/css\" />" +
"<script src=\"/dinner.js\" type=\"text/javascript\"></script>" +
"<script src=\"/dessert.js\" type=\"text/javascript\"></script>"
end
it "#render_externals returns externals for all rendered sub-widgets to an output buffer" do
widget = Dinner.new
widget.to_s
widget.render_externals.to_s.should ==
"<link href=\"/dessert.css\" media=\"all\" rel=\"stylesheet\" type=\"text/css\" />" +
"<script src=\"/dinner.js\" type=\"text/javascript\"></script>" +
"<script src=\"/dessert.js\" type=\"text/javascript\"></script>"
end
end