test/sass_test.rb in rtomayko-sinatra-0.3.3 vs test/sass_test.rb in rtomayko-sinatra-0.8.9

- old
+ new

@@ -1,57 +1,40 @@ -require File.dirname(__FILE__) + '/helper' +require 'test/spec' +require 'sinatra/base' +require 'sinatra/test' -context "Sass" do +describe "Sass Templates" do + include Sinatra::Test - setup do - Sinatra.application = nil + def sass_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' end - context "Templates (in general)" do + it 'renders inline Sass strings' do + sass_app { sass "#sass\n :background-color #FFF\n" } + should.be.ok + body.should.equal "#sass {\n background-color: #FFF; }\n" + end - setup do - Sinatra.application = nil - end + it 'renders .sass files in views path' do + sass_app { sass :hello } + should.be.ok + body.should.equal "#sass {\n background-color: #FFF; }\n" + end - specify "are read from files if Symbols" do - - get '/from_file' do - sass :foo, :views_directory => File.dirname(__FILE__) + "/views" - end - - get_it '/from_file' - should.be.ok - body.should.equal "#sass {\n background_color: #FFF; }\n" - - end - - specify "raise an error if template not found" do - get '/' do - sass :not_found - end - - lambda { get_it '/' }.should.raise(Errno::ENOENT) - end - - specify "ignore default layout file with .sass extension" do - get '/' do - sass :foo, :views_directory => File.dirname(__FILE__) + "/views/layout_test" - end - - get_it '/' - should.be.ok - body.should.equal "#sass {\n background_color: #FFF; }\n" - end - - specify "ignore explicitly specified layout file" do - get '/' do - sass :foo, :layout => :layout, :views_directory => File.dirname(__FILE__) + "/views/layout_test" - end - - get_it '/' - should.be.ok - body.should.equal "#sass {\n background_color: #FFF; }\n" - end - + it 'ignores the layout option' do + sass_app { sass :hello, :layout => :layout2 } + should.be.ok + body.should.equal "#sass {\n background-color: #FFF; }\n" end + it "raises error if template not found" do + mock_app { + get('/') { sass :no_such_template } + } + lambda { get('/') }.should.raise(Errno::ENOENT) + end end