test/helper.rb in sinatra-sinatra-0.9.0.2 vs test/helper.rb in sinatra-sinatra-0.9.0.4

- old
+ new

@@ -1,16 +1,17 @@ begin - require 'test/spec' + require 'rack' rescue LoadError require 'rubygems' - require 'test/spec' + require 'rack' end -$:.unshift File.dirname(File.dirname(__FILE__)) + '/lib' +libdir = File.dirname(File.dirname(__FILE__)) + '/lib' +$LOAD_PATH.unshift libdir unless $LOAD_PATH.include?(libdir) + require 'sinatra/base' -require 'sinatra/test' -require 'sinatra/test/spec' +require 'sinatra/test/unit' module Sinatra::Test # Sets up a Sinatra::Base subclass defined with the block # given. Used in setup or individual spec methods to establish # the application. @@ -20,6 +21,24 @@ end class Sinatra::Base # Allow assertions in request context include Test::Unit::Assertions +end + +## +# test/spec/mini +# http://pastie.caboo.se/158871 +# chris@ozmm.org +# +def describe(*args, &block) + return super unless (name = args.first) && block + klass = Class.new(Test::Unit::TestCase) do + def self.it(name, &block) + define_method("test_#{name.gsub(/\W/,'_')}", &block) + end + def self.xspecify(*args) end + def self.before(&block) define_method(:setup, &block) end + def self.after(&block) define_method(:teardown, &block) end + end + klass.class_eval &block end