web-console 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of web-console might be problematic. Click here for more details.

Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +132 -85
  3. data/lib/web_console.rb +14 -13
  4. data/lib/web_console/errors.rb +7 -0
  5. data/lib/web_console/{repl.rb → evaluator.rb} +7 -10
  6. data/lib/web_console/helper.rb +22 -0
  7. data/lib/web_console/integration.rb +8 -0
  8. data/lib/web_console/{core_ext/exception → integration}/cruby.rb +0 -0
  9. data/lib/web_console/integration/jruby.rb +111 -0
  10. data/lib/web_console/integration/rubinius.rb +66 -0
  11. data/lib/web_console/middleware.rb +117 -0
  12. data/lib/web_console/railtie.rb +61 -0
  13. data/lib/web_console/request.rb +30 -0
  14. data/lib/web_console/session.rb +65 -0
  15. data/lib/web_console/template.rb +49 -0
  16. data/lib/web_console/templates/_inner_console_markup.html +3 -0
  17. data/lib/web_console/templates/_markup.html +4 -0
  18. data/lib/web_console/templates/_prompt_box_markup.html +2 -0
  19. data/lib/web_console/templates/console.js +373 -0
  20. data/lib/web_console/templates/error_page.js +83 -0
  21. data/lib/web_console/templates/index.html +8 -0
  22. data/lib/web_console/templates/layouts/inlined_string.erb +1 -0
  23. data/lib/web_console/templates/layouts/javascript.erb +5 -0
  24. data/lib/web_console/templates/main.js +24 -0
  25. data/lib/web_console/templates/style.css +9 -0
  26. data/lib/web_console/version.rb +1 -1
  27. data/lib/web_console/whiny_request.rb +38 -0
  28. data/lib/web_console/whitelist.rb +42 -0
  29. data/test/dummy/config/environments/test.rb +0 -4
  30. data/test/dummy/log/development.log +7075 -0
  31. data/test/dummy/log/test.log +66006 -0
  32. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  33. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  34. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  35. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  36. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  37. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  38. data/test/support/scenarios/bad_custom_error_scenario.rb +17 -0
  39. data/test/support/scenarios/basic_nested_scenario.rb +15 -0
  40. data/test/support/scenarios/custom_error_scenario.rb +11 -0
  41. data/test/support/scenarios/eval_nested_scenario.rb +15 -0
  42. data/test/support/scenarios/flat_scenario.rb +9 -0
  43. data/test/support/scenarios/reraised_scenario.rb +21 -0
  44. data/test/test_helper.rb +50 -3
  45. data/test/web_console/evaluator_test.rb +73 -0
  46. data/test/web_console/helper_test.rb +76 -0
  47. data/test/web_console/integration_test.rb +47 -0
  48. data/test/web_console/middleware_test.rb +116 -0
  49. data/test/web_console/railtie_test.rb +99 -0
  50. data/test/web_console/request_test.rb +52 -0
  51. data/test/web_console/session_test.rb +59 -0
  52. data/test/web_console/whiny_request_test.rb +33 -0
  53. data/test/web_console/whitelist_test.rb +43 -0
  54. metadata +66 -56
  55. data/lib/action_dispatch/debug_exceptions.rb +0 -105
  56. data/lib/action_dispatch/exception_wrapper.rb +0 -38
  57. data/lib/action_dispatch/templates/rescues/_request_and_response.html.erb +0 -34
  58. data/lib/action_dispatch/templates/rescues/_request_and_response.text.erb +0 -23
  59. data/lib/action_dispatch/templates/rescues/_source.erb +0 -29
  60. data/lib/action_dispatch/templates/rescues/_trace.html.erb +0 -72
  61. data/lib/action_dispatch/templates/rescues/_trace.text.erb +0 -9
  62. data/lib/action_dispatch/templates/rescues/_web_console.html.erb +0 -420
  63. data/lib/action_dispatch/templates/rescues/diagnostics.html.erb +0 -18
  64. data/lib/action_dispatch/templates/rescues/diagnostics.text.erb +0 -9
  65. data/lib/action_dispatch/templates/rescues/layout.erb +0 -160
  66. data/lib/action_dispatch/templates/rescues/missing_template.html.erb +0 -13
  67. data/lib/action_dispatch/templates/rescues/missing_template.text.erb +0 -3
  68. data/lib/action_dispatch/templates/rescues/routing_error.html.erb +0 -34
  69. data/lib/action_dispatch/templates/rescues/routing_error.text.erb +0 -11
  70. data/lib/action_dispatch/templates/rescues/template_error.html.erb +0 -22
  71. data/lib/action_dispatch/templates/rescues/template_error.text.erb +0 -7
  72. data/lib/action_dispatch/templates/rescues/unknown_action.html.erb +0 -6
  73. data/lib/action_dispatch/templates/rescues/unknown_action.text.erb +0 -3
  74. data/lib/action_dispatch/templates/routes/_route.html.erb +0 -16
  75. data/lib/action_dispatch/templates/routes/_table.html.erb +0 -200
  76. data/lib/assets/javascripts/web-console.js +0 -1
  77. data/lib/assets/javascripts/web_console.js +0 -41
  78. data/lib/web_console/controller_helpers.rb +0 -46
  79. data/lib/web_console/core_ext/exception.rb +0 -7
  80. data/lib/web_console/core_ext/exception/jruby.rb +0 -25
  81. data/lib/web_console/core_ext/exception/rubinius.rb +0 -32
  82. data/lib/web_console/engine.rb +0 -47
  83. data/lib/web_console/repl_session.rb +0 -89
  84. data/lib/web_console/unsupported_platforms.rb +0 -28
  85. data/lib/web_console/view_helpers.rb +0 -16
  86. data/test/action_pack/exception_wrapper_test.rb +0 -26
  87. data/test/controllers/tests_controller_test.rb +0 -41
  88. data/test/web_console/core_ext/exception_test.rb +0 -46
  89. data/test/web_console/engine_test.rb +0 -108
  90. data/test/web_console/repl_session_test.rb +0 -32
  91. data/test/web_console/repl_test.rb +0 -75
@@ -0,0 +1,99 @@
1
+ require 'test_helper'
2
+
3
+ module WebConsole
4
+ class RailtieTest < ActiveSupport::TestCase
5
+ test 'config.whitelisted_ips sets whitelisted networks' do
6
+ new_uninitialized_app do |app|
7
+ app.config.web_console.whitelisted_ips = %w( 172.16.0.0/12 192.168.0.0/16 )
8
+ app.initialize!
9
+
10
+ 1.upto(255).each do |n|
11
+ assert_includes Request.whitelisted_ips, "172.16.0.#{n}"
12
+ assert_includes Request.whitelisted_ips, "192.168.0.#{n}"
13
+ end
14
+ end
15
+ end
16
+
17
+ test 'config.whitelisted_ips always includes localhost' do
18
+ new_uninitialized_app do |app|
19
+ app.config.web_console.whitelisted_ips = '8.8.8.8'
20
+ app.initialize!
21
+
22
+ assert_includes Request.whitelisted_ips, '127.0.0.1'
23
+ assert_includes Request.whitelisted_ips, '::1'
24
+ assert_includes Request.whitelisted_ips, '8.8.8.8'
25
+ end
26
+ end
27
+
28
+ test 'config.template_paths prepend paths if it exists' do
29
+ new_uninitialized_app do |app|
30
+ dirname = File.expand_path('..', __FILE__)
31
+
32
+ app.config.web_console.template_paths = dirname
33
+ app.initialize!
34
+
35
+ assert_equal dirname, Template.template_paths.first
36
+ end
37
+ end
38
+
39
+ test 'config.whiny_request removes extra logging' do
40
+ new_uninitialized_app do |app|
41
+ app.config.web_console.whiny_requests = false
42
+ app.initialize!
43
+
44
+ assert_not Middleware.whiny_requests
45
+ end
46
+ end
47
+
48
+ test 'config.acceptable_content_types adds extra content types' do
49
+ preserving_acceptable_content_type do
50
+ new_uninitialized_app do |app|
51
+ app.config.web_console.acceptable_content_types = [Mime::ALL]
52
+ app.initialize!
53
+
54
+ assert_includes Request.acceptable_content_types, Mime::ALL
55
+ end
56
+ end
57
+ end
58
+
59
+ private
60
+
61
+ def new_uninitialized_app(root = File.expand_path('../../dummy', __FILE__))
62
+ old_app = Rails.application
63
+
64
+ FileUtils.mkdir_p(root)
65
+ Dir.chdir(root) do
66
+ Rails.application = nil
67
+
68
+ app = Class.new(Rails::Application)
69
+ app.config.eager_load = false
70
+ app.config.time_zone = 'UTC'
71
+ app.config.middleware ||= Rails::Configuration::MiddlewareStackProxy.new
72
+ app.config.active_support.deprecation = :notify
73
+
74
+ yield app
75
+ end
76
+ ensure
77
+ Rails.application = old_app
78
+ end
79
+
80
+ def preserving_acceptable_content_type
81
+ acceptable_content_types = Request.acceptable_content_types.dup
82
+ yield
83
+ ensure
84
+ Request.acceptable_content_types = acceptable_content_types
85
+ end
86
+
87
+ def teardown_fixtures(*)
88
+ super
89
+ rescue
90
+ # This is nasty hack to prevent a connection to the database in JRuby's
91
+ # activerecord-jdbcsqlite3-adapter. We don't really require a database
92
+ # connection, for the tests to run.
93
+ #
94
+ # The sad thing is that I couldn't figure out why does it only happens
95
+ # on activerecord-jdbcsqlite3-adapter and how to actually prevent it,
96
+ # rather than work-around it.
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,52 @@
1
+ require 'test_helper'
2
+
3
+ module WebConsole
4
+ class RequestTest < ActiveSupport::TestCase
5
+ setup do
6
+ Request.stubs(:whitelisted_ips).returns(IPAddr.new('127.0.0.1'))
7
+ end
8
+
9
+ test '#from_whitelited_ip? is falsy for blacklisted IPs' do
10
+ req = request('http://example.com', 'REMOTE_ADDR' => '0.0.0.0')
11
+
12
+ assert_not req.from_whitelited_ip?
13
+ end
14
+
15
+ test '#from_whitelited_ip? is truthy for whitelisted IPs' do
16
+ req = request('http://example.com', 'REMOTE_ADDR' => '127.0.0.1')
17
+
18
+ assert req.from_whitelited_ip?
19
+ end
20
+
21
+ test '#acceptable_content_type? is truthy for explicit HTML content type' do
22
+ html = request('http://example.com', 'CONTENT_TYPE' => 'text/html')
23
+ xhtml = request('http://example.com', 'CONTENT_TYPE' => 'application/xhtml+xml')
24
+
25
+ [ html, xhtml ].each { |req| assert req.acceptable_content_type? }
26
+ end
27
+
28
+ test '#acceptable_content_type? is truthy for plain text content type' do
29
+ req = request('http://example.com', 'CONTENT_TYPE' => 'text/plain')
30
+
31
+ assert req.acceptable_content_type?
32
+ end
33
+
34
+ test '#acceptable_content_type? is truthy for blank content type' do
35
+ req = request('http://example.com', 'CONTENT_TYPE' => '')
36
+
37
+ assert req.acceptable_content_type?
38
+ end
39
+
40
+ test '#acceptable_content_type? is falsy for non blank and non HTML content type' do
41
+ req = request('http://example.com', 'CONTENT_TYPE' => 'application/json')
42
+
43
+ assert_not req.acceptable_content_type?
44
+ end
45
+
46
+ private
47
+
48
+ def request(*args)
49
+ Request.new(Rack::MockRequest.env_for(*args))
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+
3
+ module WebConsole
4
+ class SessionTest < ActiveSupport::TestCase
5
+ class LineAwareError < StandardError
6
+ def self.raise
7
+ ::Kernel.raise new(__LINE__)
8
+ rescue => exc
9
+ exc
10
+ end
11
+
12
+ attr_reader :line
13
+
14
+ def initialize(line)
15
+ @line = line
16
+ end
17
+ end
18
+
19
+ setup do
20
+ Session::INMEMORY_STORAGE.clear
21
+ @session = Session.new TOPLEVEL_BINDING
22
+ end
23
+
24
+ test 'returns nil when a session is not found' do
25
+ assert_nil Session.find("nonexistent session")
26
+ end
27
+
28
+ test 'find returns a persisted object' do
29
+ assert_equal @session, Session.find(@session.id)
30
+ end
31
+
32
+ test 'can evaluate code in the currently selected binding' do
33
+ assert_equal "=> 42\n", @session.eval('40 + 2')
34
+ end
35
+
36
+ test 'can create session from a single binding' do
37
+ saved_line, saved_binding = __LINE__, binding
38
+ session = Session.from_binding(saved_binding)
39
+
40
+ assert_equal "=> #{saved_line}\n", session.eval('__LINE__')
41
+ end
42
+
43
+ test 'can create session from an exception' do
44
+ exc = LineAwareError.raise
45
+ session = Session.from_exception(exc)
46
+
47
+ assert_equal "=> #{exc.line}\n", session.eval('__LINE__')
48
+ end
49
+
50
+ test 'can switch to bindings' do
51
+ exc, saved_line = LineAwareError.raise, __LINE__
52
+
53
+ session = Session.from_exception(exc)
54
+ session.switch_binding_to(1)
55
+
56
+ assert_equal "=> #{saved_line}\n", session.eval('__LINE__')
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+
3
+ module WebConsole
4
+ class WhinyRequestTest < ActiveSupport::TestCase
5
+ test '#from_whitelited_ip? logs out to stderr' do
6
+ Request.stubs(:whitelisted_ips).returns(IPAddr.new('127.0.0.1'))
7
+ assert_output_to_stderr do
8
+ req = request('http://example.com', 'REMOTE_ADDR' => '0.0.0.0')
9
+ assert_not req.from_whitelited_ip?
10
+ end
11
+ end
12
+
13
+ test '#acceptable_content_type? logs out to stderr' do
14
+ Request.stubs(:acceptable_content_types).returns([])
15
+ assert_output_to_stderr do
16
+ req = request('http://example.com', 'CONTENT_TYPE' => 'application/json')
17
+ assert_not req.acceptable_content_type?
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def assert_output_to_stderr
24
+ output = capture(:stderr) { yield }
25
+ assert_not output.blank?
26
+ end
27
+
28
+ def request(*args)
29
+ request = Request.new(Rack::MockRequest.env_for(*args))
30
+ WhinyRequest.new(request)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,43 @@
1
+ module WebConsole
2
+ class WhitelistTest < ActiveSupport::TestCase
3
+ test 'localhost is always whitelisted' do
4
+ whitelisted_ips = whitelist('8.8.8.8')
5
+
6
+ assert_includes whitelisted_ips, '127.0.0.1'
7
+ assert_includes whitelisted_ips, '::1'
8
+ end
9
+
10
+ test 'can whitelist single IPs' do
11
+ whitelisted_ips = whitelist('8.8.8.8')
12
+
13
+ assert_includes whitelisted_ips, '8.8.8.8'
14
+ end
15
+
16
+ test 'can whitelist whole networks' do
17
+ whitelisted_ips = whitelist('172.16.0.0/12')
18
+
19
+ 1.upto(255).each do |n|
20
+ assert_includes whitelisted_ips, "172.16.0.#{n}"
21
+ end
22
+ end
23
+
24
+ test 'can whitelist multiple networks' do
25
+ whitelisted_ips = whitelist %w(172.16.0.0/12 192.168.0.0/16)
26
+
27
+ 1.upto(255).each do |n|
28
+ assert_includes whitelisted_ips, "172.16.0.#{n}"
29
+ assert_includes whitelisted_ips, "192.168.0.#{n}"
30
+ end
31
+ end
32
+
33
+ test 'can be represented in a human readable form' do
34
+ assert_includes whitelist.to_s, '127.0.0.0/127.255.255.255, ::1'
35
+ end
36
+
37
+ private
38
+
39
+ def whitelist(*args)
40
+ Whitelist.new(*args)
41
+ end
42
+ end
43
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Somerville
@@ -11,34 +11,34 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-11-26 00:00:00.000000000 Z
14
+ date: 2015-02-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - "~>"
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: '4.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '4.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: activemodel
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - "~>"
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: '4.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - "~>"
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: '4.0'
44
44
  - !ruby/object:Gem::Dependency
@@ -79,32 +79,33 @@ dependencies:
79
79
  name: actionmailer
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '4.0'
85
85
  type: :development
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - "~>"
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
91
  version: '4.0'
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: activerecord
94
94
  requirement: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - "~>"
96
+ - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '4.0'
99
99
  type: :development
100
100
  prerelease: false
101
101
  version_requirements: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - "~>"
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '4.0'
106
106
  description:
107
107
  email:
108
+ - charlie@charliesomerville.com
108
109
  - gsamokovarov@gmail.com
109
110
  - guilleiguaran@gmail.com
110
111
  - daoduyducduong@gmail.com
@@ -115,44 +116,33 @@ files:
115
116
  - MIT-LICENSE
116
117
  - README.markdown
117
118
  - Rakefile
118
- - lib/action_dispatch/debug_exceptions.rb
119
- - lib/action_dispatch/exception_wrapper.rb
120
- - lib/action_dispatch/templates/rescues/_request_and_response.html.erb
121
- - lib/action_dispatch/templates/rescues/_request_and_response.text.erb
122
- - lib/action_dispatch/templates/rescues/_source.erb
123
- - lib/action_dispatch/templates/rescues/_trace.html.erb
124
- - lib/action_dispatch/templates/rescues/_trace.text.erb
125
- - lib/action_dispatch/templates/rescues/_web_console.html.erb
126
- - lib/action_dispatch/templates/rescues/diagnostics.html.erb
127
- - lib/action_dispatch/templates/rescues/diagnostics.text.erb
128
- - lib/action_dispatch/templates/rescues/layout.erb
129
- - lib/action_dispatch/templates/rescues/missing_template.html.erb
130
- - lib/action_dispatch/templates/rescues/missing_template.text.erb
131
- - lib/action_dispatch/templates/rescues/routing_error.html.erb
132
- - lib/action_dispatch/templates/rescues/routing_error.text.erb
133
- - lib/action_dispatch/templates/rescues/template_error.html.erb
134
- - lib/action_dispatch/templates/rescues/template_error.text.erb
135
- - lib/action_dispatch/templates/rescues/unknown_action.html.erb
136
- - lib/action_dispatch/templates/rescues/unknown_action.text.erb
137
- - lib/action_dispatch/templates/routes/_route.html.erb
138
- - lib/action_dispatch/templates/routes/_table.html.erb
139
- - lib/assets/javascripts/web-console.js
140
- - lib/assets/javascripts/web_console.js
141
119
  - lib/web-console.rb
142
120
  - lib/web_console.rb
143
- - lib/web_console/controller_helpers.rb
144
- - lib/web_console/core_ext/exception.rb
145
- - lib/web_console/core_ext/exception/cruby.rb
146
- - lib/web_console/core_ext/exception/jruby.rb
147
- - lib/web_console/core_ext/exception/rubinius.rb
148
- - lib/web_console/engine.rb
149
- - lib/web_console/repl.rb
150
- - lib/web_console/repl_session.rb
151
- - lib/web_console/unsupported_platforms.rb
121
+ - lib/web_console/errors.rb
122
+ - lib/web_console/evaluator.rb
123
+ - lib/web_console/helper.rb
124
+ - lib/web_console/integration.rb
125
+ - lib/web_console/integration/cruby.rb
126
+ - lib/web_console/integration/jruby.rb
127
+ - lib/web_console/integration/rubinius.rb
128
+ - lib/web_console/middleware.rb
129
+ - lib/web_console/railtie.rb
130
+ - lib/web_console/request.rb
131
+ - lib/web_console/session.rb
132
+ - lib/web_console/template.rb
133
+ - lib/web_console/templates/_inner_console_markup.html
134
+ - lib/web_console/templates/_markup.html
135
+ - lib/web_console/templates/_prompt_box_markup.html
136
+ - lib/web_console/templates/console.js
137
+ - lib/web_console/templates/error_page.js
138
+ - lib/web_console/templates/index.html
139
+ - lib/web_console/templates/layouts/inlined_string.erb
140
+ - lib/web_console/templates/layouts/javascript.erb
141
+ - lib/web_console/templates/main.js
142
+ - lib/web_console/templates/style.css
152
143
  - lib/web_console/version.rb
153
- - lib/web_console/view_helpers.rb
154
- - test/action_pack/exception_wrapper_test.rb
155
- - test/controllers/tests_controller_test.rb
144
+ - lib/web_console/whiny_request.rb
145
+ - lib/web_console/whitelist.rb
156
146
  - test/dummy/README.rdoc
157
147
  - test/dummy/Rakefile
158
148
  - test/dummy/app/assets/javascripts/application.js
@@ -240,11 +230,22 @@ files:
240
230
  - test/dummy/tmp/cache/assets/test/sprockets/d982412def520c434e2240eae6d29cf2
241
231
  - test/dummy/tmp/cache/assets/test/sprockets/df048a8b0897b9c04acdf59c8f95b18f
242
232
  - test/dummy/tmp/cache/assets/test/sprockets/e6d6b8bde546349764be7b44ffcf5807
233
+ - test/support/scenarios/bad_custom_error_scenario.rb
234
+ - test/support/scenarios/basic_nested_scenario.rb
235
+ - test/support/scenarios/custom_error_scenario.rb
236
+ - test/support/scenarios/eval_nested_scenario.rb
237
+ - test/support/scenarios/flat_scenario.rb
238
+ - test/support/scenarios/reraised_scenario.rb
243
239
  - test/test_helper.rb
244
- - test/web_console/core_ext/exception_test.rb
245
- - test/web_console/engine_test.rb
246
- - test/web_console/repl_session_test.rb
247
- - test/web_console/repl_test.rb
240
+ - test/web_console/evaluator_test.rb
241
+ - test/web_console/helper_test.rb
242
+ - test/web_console/integration_test.rb
243
+ - test/web_console/middleware_test.rb
244
+ - test/web_console/railtie_test.rb
245
+ - test/web_console/request_test.rb
246
+ - test/web_console/session_test.rb
247
+ - test/web_console/whiny_request_test.rb
248
+ - test/web_console/whitelist_test.rb
248
249
  homepage: https://github.com/rails/web-console
249
250
  licenses:
250
251
  - MIT
@@ -268,10 +269,8 @@ rubyforge_project:
268
269
  rubygems_version: 2.2.2
269
270
  signing_key:
270
271
  specification_version: 4
271
- summary: A set of debugging tools for your Rails application.
272
+ summary: A debugging tool for your Ruby on Rails applications.
272
273
  test_files:
273
- - test/action_pack/exception_wrapper_test.rb
274
- - test/controllers/tests_controller_test.rb
275
274
  - test/dummy/app/assets/javascripts/application.js
276
275
  - test/dummy/app/assets/stylesheets/application.css
277
276
  - test/dummy/app/controllers/application_controller.rb
@@ -359,8 +358,19 @@ test_files:
359
358
  - test/dummy/tmp/cache/assets/test/sprockets/d982412def520c434e2240eae6d29cf2
360
359
  - test/dummy/tmp/cache/assets/test/sprockets/df048a8b0897b9c04acdf59c8f95b18f
361
360
  - test/dummy/tmp/cache/assets/test/sprockets/e6d6b8bde546349764be7b44ffcf5807
361
+ - test/support/scenarios/bad_custom_error_scenario.rb
362
+ - test/support/scenarios/basic_nested_scenario.rb
363
+ - test/support/scenarios/custom_error_scenario.rb
364
+ - test/support/scenarios/eval_nested_scenario.rb
365
+ - test/support/scenarios/flat_scenario.rb
366
+ - test/support/scenarios/reraised_scenario.rb
362
367
  - test/test_helper.rb
363
- - test/web_console/core_ext/exception_test.rb
364
- - test/web_console/engine_test.rb
365
- - test/web_console/repl_session_test.rb
366
- - test/web_console/repl_test.rb
368
+ - test/web_console/evaluator_test.rb
369
+ - test/web_console/helper_test.rb
370
+ - test/web_console/integration_test.rb
371
+ - test/web_console/middleware_test.rb
372
+ - test/web_console/railtie_test.rb
373
+ - test/web_console/request_test.rb
374
+ - test/web_console/session_test.rb
375
+ - test/web_console/whiny_request_test.rb
376
+ - test/web_console/whitelist_test.rb