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