Sha256: 8f42a1c3675bfd038ea4aa460e2713fb04a925ab6a269c146cb524251a19eb4a
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
# encoding: utf-8 require 'helper' class Nanoc::Erector::FilterTest < Minitest::Test TEMPLATE = <<-EOF class ErectorTemplate < Erector::Widget def content html { head { title "My Page" } body { h1 "Hi, \#{@content}!" } } end end EOF def test_filter # Create filter layout = Nanoc::Int::Layout.new(TEMPLATE, {}, '/default/') assigns = { :layout => layout, :content => 'Mr. Payne' } filter = ::Nanoc::Erector::Filter.new(assigns) # Run filter result = filter.setup_and_run("Mr. Payne") assert_equal '<html><head><title>My Page</title></head><body><h1>Hi, Mr. Payne!</h1></body></html>', result end def test_filter_outside_layout layout = Nanoc::Int::Layout.new('dontcare', {}, '/default/') filter = ::Nanoc::Erector::Filter.new # Run filter assert_raises(Nanoc::Erector::Filter::OutsideLayoutError) do filter.setup_and_run("Mr. Payne") end end def test_filter_undefined_second_time # Run once layout = Nanoc::Int::Layout.new(TEMPLATE, {}, '/default/') assigns = { :layout => layout, :content => 'Mr. Payne' } filter = ::Nanoc::Erector::Filter.new(assigns) filter.setup_and_run("Mr. Payne") # Run again, but fail this time layout = Nanoc::Int::Layout.new('$fun = :friday', {}, '/default/') assigns = { :layout => layout, :content => 'Mr. Payne' } filter = ::Nanoc::Erector::Filter.new(assigns) assert_raises(NameError) do filter.setup_and_run("Mr. Payne") end end def test_filter_with_undefined_custom_name layout = Nanoc::Int::Layout.new(TEMPLATE.sub('ErectorTemplate', 'Foo'), {}, '/default/') assigns = { :layout => layout, :content => 'Mr. Payne' } filter = ::Nanoc::Erector::Filter.new(assigns) assert_raises(NameError) do filter.setup_and_run("Mr. Payne") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nanoc-erector-1.0.0 | test/filters/test_erector.rb |