Sha256: 90443fc3fa0d6ef6f3d975366374ff50ebe6a4c301f58506a4a463155e4472cf
Contents?: true
Size: 2 KB
Versions: 63
Compression:
Stored size: 2 KB
Contents
require File.expand_path('../helper', __FILE__) MarkdownTest = proc do def markdown_app(&block) mock_app do set :views, File.dirname(__FILE__) + '/views' get '/', &block end get '/' end def setup Tilt.prefer engine, 'markdown', 'mkd', 'md' super end it 'uses the correct engine' do assert_equal engine, Tilt[:md] assert_equal engine, Tilt[:mkd] assert_equal engine, Tilt[:markdown] end it 'renders inline markdown strings' do markdown_app { markdown '# Hiya' } assert ok? assert_like "<h1>Hiya</h1>\n", body end it 'renders .markdown files in views path' do markdown_app { markdown :hello } assert ok? assert_like "<h1>Hello From Markdown</h1>", body end it "raises error if template not found" do mock_app { get('/') { markdown :no_such_template } } assert_raise(Errno::ENOENT) { get('/') } end it "renders with inline layouts" do mock_app do layout { 'THIS. IS. #{yield.upcase}!' } get('/') { markdown 'Sparta', :layout_engine => :str } end get '/' assert ok? assert_like 'THIS. IS. <P>SPARTA</P>!', body end it "renders with file layouts" do markdown_app { markdown 'Hello World', :layout => :layout2, :layout_engine => :erb } assert ok? assert_body "ERB Layout!\n<p>Hello World</p>" end it "can be used in a nested fashion for partials and whatnot" do mock_app do template(:inner) { "hi" } template(:outer) { "<outer><%= markdown :inner %></outer>" } get '/' do erb :outer end end get '/' assert ok? assert_like '<outer><p>hi</p></outer>', body end end # Will generate RDiscountTest, KramdownTest, etc. Tilt.mappings['md'].each do |t| begin t.new { "" } klass = Class.new(Test::Unit::TestCase) { define_method(:engine) { t }} klass.class_eval(&MarkdownTest) Object.const_set t.name[/[^:]+(?=Template$)/] << "Test", klass rescue LoadError warn "#{$!}: skipping markdown tests with #{t}" end end
Version data entries
63 entries across 63 versions & 7 rubygems