test/helpers/test_rendering.rb in nanoc-4.0.0a2 vs test/helpers/test_rendering.rb in nanoc-4.0.0b1
- old
+ new
@@ -3,76 +3,115 @@
class Nanoc::Helpers::RenderingTest < Nanoc::TestCase
include Nanoc::Helpers::Rendering
def test_render
with_site do |site|
- @site = site
-
File.open('Rules', 'w') do |io|
io.write("layout '/foo/', :erb\n")
end
File.open('layouts/foo.erb', 'w') do |io|
io.write 'This is the <%= @layout.identifier %> layout.'
end
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
+
assert_equal('This is the /foo/ layout.', render('/foo/'))
end
end
+ def test_render_with_non_cleaned_identifier
+ with_site do |site|
+ File.open('Rules', 'w') do |io|
+ io.write("layout '/foo/', :erb\n")
+ end
+
+ File.open('layouts/foo.erb', 'w') do |io|
+ io.write 'This is the <%= @layout.identifier %> layout.'
+ end
+
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
+
+ assert_equal('This is the /foo/ layout.', render('/foo'))
+ end
+ end
+
+ def test_render_class
+ with_site do |site|
+ File.open('Rules', 'w') do |io|
+ io.write("layout '/foo/', :erb\n")
+ end
+
+ File.open('layouts/foo.erb', 'w') do |io|
+ io.write 'I am the <%= @layout.class %> class.'
+ end
+
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
+
+ assert_equal('I am the Nanoc::LayoutView class.', render('/foo/'))
+ end
+ end
+
def test_render_with_unknown_layout
with_site do |site|
- @site = site
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
assert_raises(Nanoc::Int::Errors::UnknownLayout) do
render '/dsfghjkl/'
end
end
end
def test_render_without_filter
with_site do |site|
- @site = site
-
File.open('Rules', 'w') do |io|
io.write("layout '/foo/', nil\n")
end
File.open('layouts/foo.erb', 'w').close
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
+
assert_raises(Nanoc::Int::Errors::CannotDetermineFilter) do
render '/foo/'
end
end
end
def test_render_with_unknown_filter
with_site do |site|
- @site = site
-
File.open('Rules', 'w') do |io|
io.write("layout '/foo/', :asdf\n")
end
File.open('layouts/foo.erb', 'w').close
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
+
assert_raises(Nanoc::Int::Errors::UnknownFilter) do
render '/foo/'
end
end
end
def test_render_with_block
with_site do |site|
- @site = site
-
File.open('Rules', 'w') do |io|
io.write("layout '/foo/', :erb\n")
end
File.open('layouts/foo.erb', 'w') do |io|
io.write '[partial-before]<%= yield %>[partial-after]'
end
+
+ @site = Nanoc::SiteView.new(site)
+ @layouts = Nanoc::LayoutCollectionView.new(site.layouts)
_erbout = '[erbout-before]'
result = render '/foo/' do
_erbout << 'This is some extra content'
end