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')