require File.dirname(__FILE__) + '/helper' begin require 'markaby' class MarkabyTest < Test::Unit::TestCase def markaby_app(&block) mock_app do set :views, File.dirname(__FILE__) + '/views' get '/', &block end get '/' end def check_tilt(&block) instance_eval(&block) rescue TypeError => e raise e unless Tilt::VERSION < '1.2' warn "\nUpgrade Tilt!" end it 'renders inline markaby strings' do markaby_app { markaby 'h1 "Hiya"' } assert ok? assert_equal "
Hello World
", body end it 'renders inline markaby blocks' do check_tilt do markaby_app { markaby { h1 'Hiya' } } assert ok? assert_equal "Hello World
", body end end it "raises error if template not found" do mock_app { get('/') { markaby :no_such_template } } assert_raise(Errno::ENOENT) { get('/') } end it "allows passing locals" do markaby_app do markaby 'text value', :locals => { :value => 'foo' } end assert ok? assert_equal 'foo', body end end rescue warn "#{$!.to_s}: skipping markaby tests" end