test/sass_test.rb in bmizerany-sinatra-0.3.2 vs test/sass_test.rb in bmizerany-sinatra-0.8.9

- old
+ new

@@ -1,57 +1,36 @@ require File.dirname(__FILE__) + '/helper' -context "Sass" do +describe "Sass Templates" do + def sass_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' + end - setup do - Sinatra.application = nil + it 'renders inline Sass strings' do + sass_app { sass "#sass\n :background-color #FFF\n" } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body end - context "Templates (in general)" do + it 'renders .sass files in views path' do + sass_app { sass :hello } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body + end - setup do - Sinatra.application = nil - 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 } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body end + it "raises error if template not found" do + mock_app { + get('/') { sass :no_such_template } + } + assert_raise(Errno::ENOENT) { get('/') } + end end