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