test/unit/test_layouts.rb in spontaneous-0.2.0.alpha7 vs test/unit/test_layouts.rb in spontaneous-0.2.0.beta1
- old
+ new
@@ -15,17 +15,17 @@
end
context "layouts" do
setup do
- class ::LayoutPage < Spontaneous::Page; end
- class ::ABoxClass < Spontaneous::Box; end
+ class ::LayoutPage < ::Page; end
+ class ::ABoxClass < ::Box; end
class ::SubPage < LayoutPage; end
ABoxClass.style :monkey
ABoxClass.style :crazy
- class ::SomeContent < Spontaneous::Piece; end
+ class ::SomeContent < ::Piece; end
end
teardown do
[:LayoutPage, :SubPage, :ABoxClass, :SomeContent].each do |c|
Object.send(:remove_const, c) rescue nil
@@ -39,16 +39,31 @@
page = LayoutPage.new
assert_correct_template(page, @template_root / 'layouts/standard')
page.render.should == "layouts/standard.html.cut\n"
end
+ should "use the named template if it exists" do
+ layout = @template_root / "layouts/layout_page.html.cut"
+ begin
+ File.open(layout, "w") do |file|
+ file.write("layouts/layout_page.html.cut\n")
+ end
+ page = LayoutPage.new
+ assert_correct_template(page, @template_root / 'layouts/layout_page')
+ page.render.should == "layouts/layout_page.html.cut\n"
+ ensure
+ FileUtils.rm(layout)
+ end
+ end
+
should "return the first layout if some are declared but none declared default" do
LayoutPage.layout :custom1
LayoutPage.layout :custom2
page = LayoutPage.new
assert_correct_template(page, @template_root / 'layouts/custom1')
page.render.should == "layouts/custom1.html.cut\n"
end
+
should "return the layout declared default" do
LayoutPage.layout :custom1
LayoutPage.layout :custom2, :default => true
page = LayoutPage.new
assert_correct_template(page, @template_root / 'layouts/custom2')