remi-rackbox 0.0.6 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +0 -2
- data/VERSION.yml +4 -0
- data/lib/rackbox.rb +11 -94
- data/lib/rackbox/matchers.rb +17 -0
- data/lib/rackbox/{rack_content_length_fix.rb → rack/content_length_fix.rb} +0 -0
- data/lib/rackbox/rack/extensions_for_rspec.rb +31 -0
- data/lib/rackbox/rack/sticky_sessions.rb +54 -0
- data/lib/rackbox/rackbox.rb +35 -0
- data/lib/rackbox/spec/configuration.rb +63 -0
- data/lib/rackbox/spec/helpers.rb +34 -0
- data/lib/rspec/custom_matcher.rb +52 -0
- metadata +18 -86
- data/examples/rack/config.ru +0 -4
- data/examples/rack/run-specs +0 -2
- data/examples/rack/spec/blackbox/home_page_spec.rb +0 -14
- data/examples/rack/spec/rcov.opts +0 -2
- data/examples/rack/spec/spec.opts +0 -4
- data/examples/rack/spec/spec_helper.rb +0 -6
- data/examples/rails/README +0 -256
- data/examples/rails/Rakefile +0 -10
- data/examples/rails/app/controllers/application.rb +0 -15
- data/examples/rails/app/controllers/welcome_controller.rb +0 -5
- data/examples/rails/app/helpers/application_helper.rb +0 -3
- data/examples/rails/app/helpers/welcome_helper.rb +0 -2
- data/examples/rails/config/boot.rb +0 -109
- data/examples/rails/config/environment.rb +0 -75
- data/examples/rails/config/environments/development.rb +0 -17
- data/examples/rails/config/environments/production.rb +0 -24
- data/examples/rails/config/environments/test.rb +0 -22
- data/examples/rails/config/initializers/inflections.rb +0 -10
- data/examples/rails/config/initializers/mime_types.rb +0 -5
- data/examples/rails/config/initializers/new_rails_defaults.rb +0 -17
- data/examples/rails/config/locales/en.yml +0 -5
- data/examples/rails/config/routes.rb +0 -43
- data/examples/rails/db/development.sqlite3 +0 -0
- data/examples/rails/db/schema.rb +0 -14
- data/examples/rails/db/test.sqlite3 +0 -0
- data/examples/rails/doc/README_FOR_APP +0 -5
- data/examples/rails/lib/tasks/rspec.rake +0 -158
- data/examples/rails/public/404.html +0 -30
- data/examples/rails/public/422.html +0 -30
- data/examples/rails/public/500.html +0 -33
- data/examples/rails/public/dispatch.cgi +0 -10
- data/examples/rails/public/dispatch.fcgi +0 -24
- data/examples/rails/public/dispatch.rb +0 -10
- data/examples/rails/public/favicon.ico +0 -0
- data/examples/rails/public/images/rails.png +0 -0
- data/examples/rails/public/javascripts/application.js +0 -2
- data/examples/rails/public/javascripts/controls.js +0 -963
- data/examples/rails/public/javascripts/dragdrop.js +0 -973
- data/examples/rails/public/javascripts/effects.js +0 -1128
- data/examples/rails/public/javascripts/prototype.js +0 -4320
- data/examples/rails/public/robots.txt +0 -5
- data/examples/rails/run-specs +0 -2
- data/examples/rails/script/about +0 -4
- data/examples/rails/script/autospec +0 -5
- data/examples/rails/script/console +0 -3
- data/examples/rails/script/dbconsole +0 -3
- data/examples/rails/script/destroy +0 -3
- data/examples/rails/script/generate +0 -3
- data/examples/rails/script/performance/benchmarker +0 -3
- data/examples/rails/script/performance/profiler +0 -3
- data/examples/rails/script/performance/request +0 -3
- data/examples/rails/script/plugin +0 -3
- data/examples/rails/script/process/inspector +0 -3
- data/examples/rails/script/process/reaper +0 -3
- data/examples/rails/script/process/spawner +0 -3
- data/examples/rails/script/runner +0 -3
- data/examples/rails/script/server +0 -3
- data/examples/rails/script/spec +0 -5
- data/examples/rails/script/spec_server +0 -125
- data/examples/rails/spec/blackbox/home_page_spec.rb +0 -21
- data/examples/rails/spec/rcov.opts +0 -2
- data/examples/rails/spec/spec.opts +0 -4
- data/examples/rails/spec/spec_helper.rb +0 -11
- data/examples/rails/test/functional/welcome_controller_test.rb +0 -8
- data/examples/rails/test/performance/browsing_test.rb +0 -9
- data/examples/rails/test/test_helper.rb +0 -38
- data/rackbox.gemspec +0 -17
- data/run-specs +0 -11
data/README.markdown
CHANGED
data/VERSION.yml
ADDED
data/lib/rackbox.rb
CHANGED
@@ -1,105 +1,22 @@
|
|
1
|
+
# TODO split up into different files! sheesh!
|
2
|
+
|
1
3
|
$:.unshift File.dirname(__FILE__)
|
2
4
|
require 'rubygems'
|
3
5
|
begin
|
4
6
|
require 'thin' # required for Rails pre Rails 2.3, as Thin has the Rack::Adapter::Rails
|
5
7
|
rescue LoadError
|
6
8
|
end
|
7
|
-
require 'rack'
|
8
|
-
require 'rackbox/rack_content_length_fix'
|
9
|
-
|
10
|
-
# To add blackbox testing to a Rails app,
|
11
|
-
# in your spec_helper.rb
|
12
|
-
#
|
13
|
-
# require 'rackbox'
|
14
|
-
#
|
15
|
-
# Spec::Runner.configure do |config|
|
16
|
-
# config.use_blackbox = true
|
17
|
-
# end
|
18
|
-
#
|
19
|
-
class RackBox
|
20
|
-
class << self
|
21
|
-
# the Rack appliction to do 'Black Box' testing against
|
22
|
-
#
|
23
|
-
# To set, in your spec_helper.rb or someplace:
|
24
|
-
# RackBox.app = Rack::Adapter::Rails.new :root => '/root/directory/of/rails/app', :environment => 'test'
|
25
|
-
#
|
26
|
-
# If not explicitly set, uses RAILS_ROOT (if defined?) and RAILS_ENV (if defined?)
|
27
|
-
attr_accessor :app
|
28
|
-
|
29
|
-
def app
|
30
|
-
unless @app and @app.respond_to?:call
|
31
|
-
if File.file? 'config.ru'
|
32
|
-
@app = Rack::Builder.new { eval(File.read('config.ru')) }
|
33
|
-
elsif defined?RAILS_ENV and defined?RAILS_ROOT
|
34
|
-
raise "You need the Rack::Adapter::Rails to run Rails apps with RackBox." +
|
35
|
-
" Try: sudo gem install thin" unless defined?Rack::Adapter::Rails
|
36
|
-
@app = Rack::Adapter::Rails.new :root => RAILS_ROOT, :environment => RAILS_ENV
|
37
|
-
else
|
38
|
-
raise "RackBox.app not configured."
|
39
|
-
end
|
40
|
-
end
|
41
|
-
@app
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
9
|
|
46
|
-
|
47
|
-
# A port of Merb's request() method, used in tests
|
48
|
-
#
|
49
|
-
# At the moment, we're using #req instead because #request conflicts
|
50
|
-
# with an existing RSpec-Rails method
|
51
|
-
#
|
52
|
-
# Usage:
|
53
|
-
#
|
54
|
-
# req '/'
|
55
|
-
# req login_path
|
56
|
-
# req url_for(:controller => 'login')
|
57
|
-
#
|
58
|
-
# req '/', :method => :post, :params => { 'chunky' => 'bacon' }
|
59
|
-
#
|
60
|
-
# TODO support inner hashes, so { :foo => { :chunky => :bacon } } becomes 'foo[chunky]=bacon'
|
61
|
-
#
|
62
|
-
# TODO take any additional options and pass them along to the environment, so we can say
|
63
|
-
# req '/', :user_agent => 'some custom user agent'
|
64
|
-
#
|
65
|
-
def req url, options = {}
|
66
|
-
options[:method] ||= :get
|
67
|
-
options[:params] ||= { }
|
68
|
-
Rack::MockRequest.new(RackBox.app).send options[:method], url, :input => Rack::Utils.build_query(options[:params])
|
69
|
-
end
|
10
|
+
require 'rack'
|
70
11
|
|
71
|
-
|
72
|
-
|
12
|
+
require 'rackbox/rack/content_length_fix'
|
13
|
+
require 'rackbox/rack/sticky_sessions'
|
14
|
+
require 'rackbox/rack/extensions_for_rspec'
|
73
15
|
|
74
|
-
|
75
|
-
spec_configuration_class = Spec::Example::Configuration if defined? Spec::Example::Configuration
|
76
|
-
spec_configuration_class = Spec::Runner::Configuration if defined? Spec::Runner::Configuration
|
16
|
+
require 'rackbox/rackbox'
|
77
17
|
|
78
|
-
|
79
|
-
|
80
|
-
# Adds blackbox testing to your Rails application using RackBox.
|
81
|
-
#
|
82
|
-
# To use, put your 'blackbox' specs into the spec/blackbox
|
83
|
-
# directory, eg. spec/blackbox/login_spec.rb
|
84
|
-
#
|
85
|
-
# In these specs, the RackBox::SpecHelpers#req method will be available to you
|
86
|
-
#
|
87
|
-
def use_blackbox= bool
|
88
|
-
if bool == true
|
89
|
-
before(:all, :type => :blackbox) do
|
90
|
-
self.class.instance_eval {
|
91
|
-
# include our own helpers, eg. RackBox::SpecHelpers#req
|
92
|
-
include RackBox::SpecHelpers
|
18
|
+
require 'rspec/custom_matcher'
|
19
|
+
require 'rackbox/matchers'
|
93
20
|
|
94
|
-
|
95
|
-
|
96
|
-
if defined?ActionController::UrlWriter
|
97
|
-
include ActionController::UrlWriter
|
98
|
-
default_url_options[:host] = 'example.com'
|
99
|
-
end
|
100
|
-
}
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
21
|
+
require 'rackbox/spec/helpers'
|
22
|
+
require 'rackbox/spec/configuration'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# Custom RSpec matchers
|
2
|
+
module RackBox::Matchers
|
3
|
+
def self.included base
|
4
|
+
|
5
|
+
# this should really just be matcher(:foo){ ... }
|
6
|
+
# but there's a bit of other meta logic to deal with here
|
7
|
+
Object.send :remove_const, :RedirectTo if defined? RedirectTo
|
8
|
+
undef redirect_to if defined? redirect_to
|
9
|
+
|
10
|
+
# the actual matcher logic
|
11
|
+
matcher(:redirect_to, base) do |response, url|
|
12
|
+
return false unless response['Location']
|
13
|
+
response['Location'] == url
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# some more Rack extensions to help when testing
|
2
|
+
class Rack::MockResponse
|
3
|
+
|
4
|
+
# these methods help with RSpec specs so we can ask things like:
|
5
|
+
#
|
6
|
+
# request('/').should be_successful
|
7
|
+
# request('/').should be_redirect
|
8
|
+
# request('/').should be_error
|
9
|
+
#
|
10
|
+
|
11
|
+
def success?
|
12
|
+
self.status.to_s.start_with?'2' # 200 status codes are successful
|
13
|
+
end
|
14
|
+
|
15
|
+
def redirect?
|
16
|
+
self.status.to_s.start_with?'3' # 300 status codes are redirects
|
17
|
+
end
|
18
|
+
|
19
|
+
def client_error?
|
20
|
+
self.status.to_s.start_with?'4' # 400 status codes are client errors
|
21
|
+
end
|
22
|
+
|
23
|
+
def server_error?
|
24
|
+
self.status.to_s.start_with?'5' # 500 status codes are server errors
|
25
|
+
end
|
26
|
+
|
27
|
+
def error?
|
28
|
+
self.status.to_s.start_with?('4') || self.status.to_s.start_with?('5') # 400 & 500 status codes are errors
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#
|
2
|
+
# little extension to Rack::MockRequest to track cookies
|
3
|
+
#
|
4
|
+
class Rack::MockRequest
|
5
|
+
# cookies is a hash of persistent cookies (by domain)
|
6
|
+
# that let you test cookies for your app
|
7
|
+
#
|
8
|
+
# cookies = {
|
9
|
+
# 'example.org' => {
|
10
|
+
# 'cookie-name' => 'cookie-value',
|
11
|
+
# 'chunky' => 'bacon'
|
12
|
+
# }
|
13
|
+
# }
|
14
|
+
attr_accessor :cookies
|
15
|
+
|
16
|
+
# shortcut to get cookies for a particular domain
|
17
|
+
def cookies_for domain
|
18
|
+
@cookies ||= {}
|
19
|
+
@cookies[ domain ]
|
20
|
+
end
|
21
|
+
|
22
|
+
# oh geez ... it looks like i basically copy/pasted this. there's gotta be a way to do this that's
|
23
|
+
# more resilient to Rack changes to this method. i don't like overriding the whole method!
|
24
|
+
#
|
25
|
+
def request method = "GET", uri = "", opts = { }
|
26
|
+
|
27
|
+
env = self.class.env_for(uri, opts.merge(:method => method))
|
28
|
+
|
29
|
+
unless @cookies.nil? or @cookies.empty? or @cookies[env['SERVER_NAME']].nil? or @cookies[env['SERVER_NAME']].empty?
|
30
|
+
env['HTTP_COOKIE'] = @cookies[env['SERVER_NAME']].map{ |k,v| "#{ k }=#{ v }" }.join('; ')
|
31
|
+
end
|
32
|
+
|
33
|
+
if opts[:lint]
|
34
|
+
app = Rack::Lint.new(@app)
|
35
|
+
else
|
36
|
+
app = @app
|
37
|
+
end
|
38
|
+
|
39
|
+
errors = env["rack.errors"]
|
40
|
+
response = Rack::MockResponse.new(*(app.call(env) + [errors]))
|
41
|
+
|
42
|
+
if response.original_headers['Set-Cookie']
|
43
|
+
@cookies ||= {}
|
44
|
+
@cookies[ env['SERVER_NAME'] ] ||= {}
|
45
|
+
response.original_headers['Set-Cookie'].map{ |str| /(.*); path/.match(str)[1] }.each do |cookie|
|
46
|
+
name, value = cookie.split('=').first, cookie.split('=')[1]
|
47
|
+
@cookies[ env['SERVER_NAME'] ][ name ] = value
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
response
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# To add blackbox testing to a Rails app,
|
2
|
+
# in your spec_helper.rb
|
3
|
+
#
|
4
|
+
# require 'rackbox'
|
5
|
+
#
|
6
|
+
# Spec::Runner.configure do |config|
|
7
|
+
# config.use_blackbox = true
|
8
|
+
# end
|
9
|
+
#
|
10
|
+
class RackBox
|
11
|
+
class << self
|
12
|
+
# the Rack appliction to do 'Black Box' testing against
|
13
|
+
#
|
14
|
+
# To set, in your spec_helper.rb or someplace:
|
15
|
+
# RackBox.app = Rack::Adapter::Rails.new :root => '/root/directory/of/rails/app', :environment => 'test'
|
16
|
+
#
|
17
|
+
# If not explicitly set, uses RAILS_ROOT (if defined?) and RAILS_ENV (if defined?)
|
18
|
+
attr_accessor :app
|
19
|
+
|
20
|
+
def app
|
21
|
+
unless @app and @app.respond_to?:call
|
22
|
+
if File.file? 'config.ru'
|
23
|
+
@app = Rack::Builder.new { eval(File.read('config.ru')) }
|
24
|
+
elsif defined?RAILS_ENV and defined?RAILS_ROOT
|
25
|
+
raise "You need the Rack::Adapter::Rails to run Rails apps with RackBox." +
|
26
|
+
" Try: sudo gem install thin" unless defined?Rack::Adapter::Rails
|
27
|
+
@app = Rack::Adapter::Rails.new :root => RAILS_ROOT, :environment => RAILS_ENV
|
28
|
+
else
|
29
|
+
raise "RackBox.app not configured."
|
30
|
+
end
|
31
|
+
end
|
32
|
+
@app
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Extend the RSpec configuration class with a use_blackbox option
|
2
|
+
#
|
3
|
+
# To add blackbox testing to a Rails app,
|
4
|
+
# in your spec_helper.rb
|
5
|
+
#
|
6
|
+
# require 'rackbox'
|
7
|
+
#
|
8
|
+
# Spec::Runner.configure do |config|
|
9
|
+
# config.use_blackbox = true
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
|
13
|
+
spec_configuration_class = nil
|
14
|
+
spec_configuration_class = Spec::Example::Configuration if defined? Spec::Example::Configuration
|
15
|
+
spec_configuration_class = Spec::Runner::Configuration if defined? Spec::Runner::Configuration
|
16
|
+
|
17
|
+
if spec_configuration_class
|
18
|
+
spec_configuration_class.class_eval do
|
19
|
+
# Adds blackbox testing to your Rails application using RackBox.
|
20
|
+
#
|
21
|
+
# To use, put your 'blackbox' specs into the spec/blackbox
|
22
|
+
# directory, eg. spec/blackbox/login_spec.rb
|
23
|
+
#
|
24
|
+
# In these specs, the RackBox::SpecHelpers#req method will be available to you
|
25
|
+
#
|
26
|
+
def use_blackbox= bool
|
27
|
+
if bool == true
|
28
|
+
|
29
|
+
before(:all, :type => :blackbox) do
|
30
|
+
self.class.instance_eval {
|
31
|
+
# include our own helpers, eg. RackBox::SpecHelpers#req
|
32
|
+
include RackBox::SpecHelpers
|
33
|
+
include RackBox::Matchers
|
34
|
+
|
35
|
+
# include generated url methods, eg. login_path.
|
36
|
+
# default_url_options needs to have a host set for the Urls to work
|
37
|
+
if defined?ActionController::UrlWriter
|
38
|
+
include ActionController::UrlWriter
|
39
|
+
default_url_options[:host] = 'example.com'
|
40
|
+
end
|
41
|
+
|
42
|
+
attr_accessor :rackbox_request
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
before(:each, :type => :blackbox) do
|
47
|
+
|
48
|
+
# i'm sure there's a better way to write this!
|
49
|
+
#
|
50
|
+
# i believe metaid would write this as:
|
51
|
+
# metaclass.class_eval do ... end
|
52
|
+
#
|
53
|
+
(class << self; self; end).class_eval do
|
54
|
+
include RackBox::Matchers
|
55
|
+
end
|
56
|
+
|
57
|
+
@rackbox_request = Rack::MockRequest.new RackBox.app
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Helper methods to include in specs that want to use blackbox testing
|
2
|
+
#
|
3
|
+
# This module has the RackBox::SpecHelpers#request method, which is
|
4
|
+
# the main method used by RackBox blackbox tests
|
5
|
+
#
|
6
|
+
module RackBox::SpecHelpers
|
7
|
+
|
8
|
+
# A port of Merb's request() method, used in tests
|
9
|
+
#
|
10
|
+
# At the moment, we're using #req instead because #request conflicts
|
11
|
+
# with an existing RSpec-Rails method
|
12
|
+
#
|
13
|
+
# Usage:
|
14
|
+
#
|
15
|
+
# req '/'
|
16
|
+
# req login_path
|
17
|
+
# req url_for(:controller => 'login')
|
18
|
+
#
|
19
|
+
# req '/', :method => :post, :params => { 'chunky' => 'bacon' }
|
20
|
+
#
|
21
|
+
# TODO support inner hashes, so { :foo => { :chunky => :bacon } } becomes 'foo[chunky]=bacon'
|
22
|
+
#
|
23
|
+
# TODO take any additional options and pass them along to the environment, so we can say
|
24
|
+
# req '/', :user_agent => 'some custom user agent'
|
25
|
+
#
|
26
|
+
def req url, options = {}
|
27
|
+
options[:method] ||= (options[:params]) ? :post : :get # if params, default to POST, else default to GET
|
28
|
+
options[:params] ||= { }
|
29
|
+
@rackbox_request.send options[:method], url, :input => Rack::Utils.build_query(options[:params])
|
30
|
+
end
|
31
|
+
|
32
|
+
alias request req unless defined? request
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# created by: http://github.com/xdotcommer
|
2
|
+
# from: http://github.com/xdotcommer/rspec-custom-matchers/blob/0ecfccd659d5038cdfc88fdc1fee08373e1ee75c/custom_matcher.rb
|
3
|
+
class CustomMatcher
|
4
|
+
def self.create(class_name, &block)
|
5
|
+
klass = Class.new(CustomMatcher)
|
6
|
+
klass.send(:define_method, :matcher, &block) if block_given?
|
7
|
+
Object.const_set(build_class_name(class_name), klass)
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize(expected = nil)
|
11
|
+
@expected = expected
|
12
|
+
end
|
13
|
+
|
14
|
+
def failure_message
|
15
|
+
message
|
16
|
+
end
|
17
|
+
|
18
|
+
def negative_failure_message
|
19
|
+
message(false)
|
20
|
+
end
|
21
|
+
|
22
|
+
def matcher(target, expected)
|
23
|
+
target == expected
|
24
|
+
end
|
25
|
+
|
26
|
+
def matches?(target)
|
27
|
+
@target = target
|
28
|
+
if self.method(:matcher).arity == 2
|
29
|
+
matcher(@target, @expected)
|
30
|
+
else
|
31
|
+
matcher(@target)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
def message(positive = true)
|
37
|
+
"#{positive ? 'Expected' : 'Did not expect'} #{@target.inspect} to #{class_display_name} #{@expected.inspect if self.method(:matcher).arity == 2}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def class_display_name
|
41
|
+
self.class.to_s.gsub(/[A-Z]/) {|m| ' ' + m.downcase }.lstrip
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.build_class_name(class_name)
|
45
|
+
class_name.to_s.split('_').map {|s| s.capitalize}.join
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def matcher(name, context = self.class, &block)
|
50
|
+
klass = CustomMatcher.create(name, &block)
|
51
|
+
context.send(:define_method, name) { |*args| klass.new(*args) }
|
52
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remi-rackbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- remi
|
7
|
+
- remi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-01-
|
12
|
+
date: 2009-01-27 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -22,95 +22,27 @@ extensions: []
|
|
22
22
|
extra_rdoc_files: []
|
23
23
|
|
24
24
|
files:
|
25
|
-
-
|
26
|
-
- examples/rack/run-specs
|
27
|
-
- examples/rack/spec/spec.opts
|
28
|
-
- examples/rack/spec/spec_helper.rb
|
29
|
-
- examples/rack/spec/blackbox/home_page_spec.rb
|
30
|
-
- examples/rack/spec/rcov.opts
|
31
|
-
- examples/rails/app/controllers/application.rb
|
32
|
-
- examples/rails/app/controllers/welcome_controller.rb
|
33
|
-
- examples/rails/app/helpers/application_helper.rb
|
34
|
-
- examples/rails/app/helpers/welcome_helper.rb
|
35
|
-
- examples/rails/lib/tasks/rspec.rake
|
36
|
-
- examples/rails/db/test.sqlite3
|
37
|
-
- examples/rails/db/development.sqlite3
|
38
|
-
- examples/rails/db/schema.rb
|
39
|
-
- examples/rails/log/test.log
|
40
|
-
- examples/rails/log/development.log
|
41
|
-
- examples/rails/log/production.log
|
42
|
-
- examples/rails/log/server.log
|
43
|
-
- examples/rails/run-specs
|
44
|
-
- examples/rails/spec/spec.opts
|
45
|
-
- examples/rails/spec/spec_helper.rb
|
46
|
-
- examples/rails/spec/blackbox/home_page_spec.rb
|
47
|
-
- examples/rails/spec/rcov.opts
|
48
|
-
- examples/rails/doc/README_FOR_APP
|
49
|
-
- examples/rails/public/dispatch.cgi
|
50
|
-
- examples/rails/public/dispatch.rb
|
51
|
-
- examples/rails/public/422.html
|
52
|
-
- examples/rails/public/images/rails.png
|
53
|
-
- examples/rails/public/404.html
|
54
|
-
- examples/rails/public/500.html
|
55
|
-
- examples/rails/public/robots.txt
|
56
|
-
- examples/rails/public/favicon.ico
|
57
|
-
- examples/rails/public/javascripts/prototype.js
|
58
|
-
- examples/rails/public/javascripts/application.js
|
59
|
-
- examples/rails/public/javascripts/dragdrop.js
|
60
|
-
- examples/rails/public/javascripts/controls.js
|
61
|
-
- examples/rails/public/javascripts/effects.js
|
62
|
-
- examples/rails/public/dispatch.fcgi
|
63
|
-
- examples/rails/test/test_helper.rb
|
64
|
-
- examples/rails/test/functional/welcome_controller_test.rb
|
65
|
-
- examples/rails/test/performance/browsing_test.rb
|
66
|
-
- examples/rails/Rakefile
|
67
|
-
- examples/rails/script/spec_server
|
68
|
-
- examples/rails/script/autospec
|
69
|
-
- examples/rails/script/destroy
|
70
|
-
- examples/rails/script/dbconsole
|
71
|
-
- examples/rails/script/performance/profiler
|
72
|
-
- examples/rails/script/performance/request
|
73
|
-
- examples/rails/script/performance/benchmarker
|
74
|
-
- examples/rails/script/generate
|
75
|
-
- examples/rails/script/process/reaper
|
76
|
-
- examples/rails/script/process/inspector
|
77
|
-
- examples/rails/script/process/spawner
|
78
|
-
- examples/rails/script/spec
|
79
|
-
- examples/rails/script/console
|
80
|
-
- examples/rails/script/runner
|
81
|
-
- examples/rails/script/server
|
82
|
-
- examples/rails/script/plugin
|
83
|
-
- examples/rails/script/about
|
84
|
-
- examples/rails/README
|
85
|
-
- examples/rails/config/boot.rb
|
86
|
-
- examples/rails/config/locales/en.yml
|
87
|
-
- examples/rails/config/environments/development.rb
|
88
|
-
- examples/rails/config/environments/test.rb
|
89
|
-
- examples/rails/config/environments/production.rb
|
90
|
-
- examples/rails/config/routes.rb
|
91
|
-
- examples/rails/config/database.yml
|
92
|
-
- examples/rails/config/environment.rb
|
93
|
-
- examples/rails/config/initializers/new_rails_defaults.rb
|
94
|
-
- examples/rails/config/initializers/mime_types.rb
|
95
|
-
- examples/rails/config/initializers/inflections.rb
|
96
|
-
- lib/rackbox/rack_content_length_fix.rb
|
97
|
-
- lib/rackbox.rb
|
25
|
+
- VERSION.yml
|
98
26
|
- README.markdown
|
99
|
-
-
|
100
|
-
-
|
27
|
+
- lib/rackbox.rb
|
28
|
+
- lib/rspec
|
29
|
+
- lib/rspec/custom_matcher.rb
|
30
|
+
- lib/rackbox
|
31
|
+
- lib/rackbox/rack
|
32
|
+
- lib/rackbox/rack/extensions_for_rspec.rb
|
33
|
+
- lib/rackbox/rack/sticky_sessions.rb
|
34
|
+
- lib/rackbox/rack/content_length_fix.rb
|
35
|
+
- lib/rackbox/spec
|
36
|
+
- lib/rackbox/spec/configuration.rb
|
37
|
+
- lib/rackbox/spec/helpers.rb
|
38
|
+
- lib/rackbox/rackbox.rb
|
39
|
+
- lib/rackbox/matchers.rb
|
101
40
|
has_rdoc: true
|
102
41
|
homepage: http://github.com/remi/rackbox
|
103
42
|
post_install_message:
|
104
43
|
rdoc_options:
|
105
|
-
- --quiet
|
106
|
-
- --title
|
107
|
-
- RackBox - Merb-like BlackBox testing for Rack apps
|
108
|
-
- --opname
|
109
|
-
- index.html
|
110
|
-
- --line-numbers
|
111
|
-
- --main
|
112
|
-
- RackBox
|
113
44
|
- --inline-source
|
45
|
+
- --charset=UTF-8
|
114
46
|
require_paths:
|
115
47
|
- lib
|
116
48
|
required_ruby_version: !ruby/object:Gem::Requirement
|