diff --git a/test/sass_test.rb b/test/sass_test.rb new file mode 100644 index 00000000..b24762b5 --- /dev/null +++ b/test/sass_test.rb @@ -0,0 +1,57 @@ +require File.dirname(__FILE__) + '/helper' + +context "Sass" do + + setup do + Sinatra.application = nil + end + + context "Templates (in general)" do + + 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 + + end + +end diff --git a/test/views/foo.sass b/test/views/foo.sass new file mode 100644 index 00000000..12340f70 --- /dev/null +++ b/test/views/foo.sass @@ -0,0 +1,2 @@ +#sass + :background_color #FFF \ No newline at end of file diff --git a/test/views/layout_test/foo.sass b/test/views/layout_test/foo.sass new file mode 100644 index 00000000..12340f70 --- /dev/null +++ b/test/views/layout_test/foo.sass @@ -0,0 +1,2 @@ +#sass + :background_color #FFF \ No newline at end of file diff --git a/test/views/layout_test/layout.sass b/test/views/layout_test/layout.sass new file mode 100644 index 00000000..b2ee9d07 --- /dev/null +++ b/test/views/layout_test/layout.sass @@ -0,0 +1,2 @@ +b0rked! += yield \ No newline at end of file