Sha256: 80584bcfacd48b33a4e88aef4a990e78c99c662685cfb90d556b85e16e0c151c
Contents?: true
Size: 1.62 KB
Versions: 4
Compression:
Stored size: 1.62 KB
Contents
require 'test/spec' require 'sinatra/base' require 'sinatra/test' describe "HAML Templates" do include Sinatra::Test def haml_app(&block) mock_app { set :views, File.dirname(__FILE__) + '/views' get '/', &block } get '/' end it 'renders inline HAML strings' do haml_app { haml '%h1 Hiya' } should.be.ok body.should.equal "<h1>Hiya</h1>\n" end it 'renders .haml files in views path' do haml_app { haml :hello } should.be.ok body.should.equal "<h1>Hello From Haml</h1>\n" end it "renders with inline layouts" do mock_app { layout { %q(%h1= 'THIS. IS. ' + yield.upcase) } get('/') { haml '%em Sparta' } } get '/' should.be.ok body.should.equal "<h1>THIS. IS. <EM>SPARTA</EM></h1>\n" end it "renders with file layouts" do haml_app { haml 'Hello World', :layout => :layout2 } should.be.ok body.should.equal "<h1>HAML Layout!</h1>\n<p>Hello World</p>\n" end it "raises error if template not found" do mock_app { get('/') { haml :no_such_template } } lambda { get('/') }.should.raise(Errno::ENOENT) end it "passes HAML options to the Haml engine" do haml_app { haml "!!!\n%h1 Hello World", :options => {:format => :html5} } should.be.ok body.should.equal "<!DOCTYPE html>\n<h1>Hello World</h1>\n" end it "passes default HAML options to the Haml engine" do mock_app { set :haml, {:format => :html5} get '/' do haml "!!!\n%h1 Hello World" end } get '/' should.be.ok body.should.equal "<!DOCTYPE html>\n<h1>Hello World</h1>\n" end end
Version data entries
4 entries across 4 versions & 3 rubygems
Version | Path |
---|---|
adamwiggins-sinatra-0.8.9 | test/haml_test.rb |
bmizerany-sinatra-0.9.0 | test/haml_test.rb |
rtomayko-sinatra-0.8.9 | test/haml_test.rb |
rtomayko-sinatra-0.9.0 | test/haml_test.rb |