remi-rackbox 0.0.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|