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.
Files changed (80) hide show
  1. data/README.markdown +0 -2
  2. data/VERSION.yml +4 -0
  3. data/lib/rackbox.rb +11 -94
  4. data/lib/rackbox/matchers.rb +17 -0
  5. data/lib/rackbox/{rack_content_length_fix.rb → rack/content_length_fix.rb} +0 -0
  6. data/lib/rackbox/rack/extensions_for_rspec.rb +31 -0
  7. data/lib/rackbox/rack/sticky_sessions.rb +54 -0
  8. data/lib/rackbox/rackbox.rb +35 -0
  9. data/lib/rackbox/spec/configuration.rb +63 -0
  10. data/lib/rackbox/spec/helpers.rb +34 -0
  11. data/lib/rspec/custom_matcher.rb +52 -0
  12. metadata +18 -86
  13. data/examples/rack/config.ru +0 -4
  14. data/examples/rack/run-specs +0 -2
  15. data/examples/rack/spec/blackbox/home_page_spec.rb +0 -14
  16. data/examples/rack/spec/rcov.opts +0 -2
  17. data/examples/rack/spec/spec.opts +0 -4
  18. data/examples/rack/spec/spec_helper.rb +0 -6
  19. data/examples/rails/README +0 -256
  20. data/examples/rails/Rakefile +0 -10
  21. data/examples/rails/app/controllers/application.rb +0 -15
  22. data/examples/rails/app/controllers/welcome_controller.rb +0 -5
  23. data/examples/rails/app/helpers/application_helper.rb +0 -3
  24. data/examples/rails/app/helpers/welcome_helper.rb +0 -2
  25. data/examples/rails/config/boot.rb +0 -109
  26. data/examples/rails/config/environment.rb +0 -75
  27. data/examples/rails/config/environments/development.rb +0 -17
  28. data/examples/rails/config/environments/production.rb +0 -24
  29. data/examples/rails/config/environments/test.rb +0 -22
  30. data/examples/rails/config/initializers/inflections.rb +0 -10
  31. data/examples/rails/config/initializers/mime_types.rb +0 -5
  32. data/examples/rails/config/initializers/new_rails_defaults.rb +0 -17
  33. data/examples/rails/config/locales/en.yml +0 -5
  34. data/examples/rails/config/routes.rb +0 -43
  35. data/examples/rails/db/development.sqlite3 +0 -0
  36. data/examples/rails/db/schema.rb +0 -14
  37. data/examples/rails/db/test.sqlite3 +0 -0
  38. data/examples/rails/doc/README_FOR_APP +0 -5
  39. data/examples/rails/lib/tasks/rspec.rake +0 -158
  40. data/examples/rails/public/404.html +0 -30
  41. data/examples/rails/public/422.html +0 -30
  42. data/examples/rails/public/500.html +0 -33
  43. data/examples/rails/public/dispatch.cgi +0 -10
  44. data/examples/rails/public/dispatch.fcgi +0 -24
  45. data/examples/rails/public/dispatch.rb +0 -10
  46. data/examples/rails/public/favicon.ico +0 -0
  47. data/examples/rails/public/images/rails.png +0 -0
  48. data/examples/rails/public/javascripts/application.js +0 -2
  49. data/examples/rails/public/javascripts/controls.js +0 -963
  50. data/examples/rails/public/javascripts/dragdrop.js +0 -973
  51. data/examples/rails/public/javascripts/effects.js +0 -1128
  52. data/examples/rails/public/javascripts/prototype.js +0 -4320
  53. data/examples/rails/public/robots.txt +0 -5
  54. data/examples/rails/run-specs +0 -2
  55. data/examples/rails/script/about +0 -4
  56. data/examples/rails/script/autospec +0 -5
  57. data/examples/rails/script/console +0 -3
  58. data/examples/rails/script/dbconsole +0 -3
  59. data/examples/rails/script/destroy +0 -3
  60. data/examples/rails/script/generate +0 -3
  61. data/examples/rails/script/performance/benchmarker +0 -3
  62. data/examples/rails/script/performance/profiler +0 -3
  63. data/examples/rails/script/performance/request +0 -3
  64. data/examples/rails/script/plugin +0 -3
  65. data/examples/rails/script/process/inspector +0 -3
  66. data/examples/rails/script/process/reaper +0 -3
  67. data/examples/rails/script/process/spawner +0 -3
  68. data/examples/rails/script/runner +0 -3
  69. data/examples/rails/script/server +0 -3
  70. data/examples/rails/script/spec +0 -5
  71. data/examples/rails/script/spec_server +0 -125
  72. data/examples/rails/spec/blackbox/home_page_spec.rb +0 -21
  73. data/examples/rails/spec/rcov.opts +0 -2
  74. data/examples/rails/spec/spec.opts +0 -4
  75. data/examples/rails/spec/spec_helper.rb +0 -11
  76. data/examples/rails/test/functional/welcome_controller_test.rb +0 -8
  77. data/examples/rails/test/performance/browsing_test.rb +0 -9
  78. data/examples/rails/test/test_helper.rb +0 -38
  79. data/rackbox.gemspec +0 -17
  80. data/run-specs +0 -11
@@ -8,8 +8,6 @@ This currently only works with [RSpec][].
8
8
  Installation
9
9
  ------------
10
10
 
11
- **NOTE** I haven't built the gem yet! This will work in a little while, once I build the gem ...
12
-
13
11
  $ sudo gem install remi-rackbox -s http://gems.github.com
14
12
 
15
13
  Rails
@@ -0,0 +1,4 @@
1
+ ---
2
+ :patch: 0
3
+ :major: 0
4
+ :minor: 7
@@ -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
- module RackBox::SpecHelpers
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
- alias request req unless defined? request
72
- end
12
+ require 'rackbox/rack/content_length_fix'
13
+ require 'rackbox/rack/sticky_sessions'
14
+ require 'rackbox/rack/extensions_for_rspec'
73
15
 
74
- spec_configuration_class = nil
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
- if spec_configuration_class
79
- spec_configuration_class.class_eval do
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
- # include generated url methods, eg. login_path.
95
- # default_url_options needs to have a host set for the Urls to work
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
@@ -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.6
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
- - remi Taylor
7
+ - remi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-21 00:00:00 -08:00
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
- - examples/rack/config.ru
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
- - run-specs
100
- - rackbox.gemspec
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