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