aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Kalderimis <josh.kalderimis@gmail.com>2011-05-23 15:44:48 +0200
committerJosh Kalderimis <josh.kalderimis@gmail.com>2011-05-23 15:44:48 +0200
commit2514d65ca2b92f57b52e8027f6ab6fc8601df92f (patch)
tree8d891c8aeaec33d4b5491bd6231dbfa3e772c820
parenteff5d9aed468e8d6c4ffb103dad8e99b0a65465d (diff)
downloadrails-2514d65ca2b92f57b52e8027f6ab6fc8601df92f.tar.gz
rails-2514d65ca2b92f57b52e8027f6ab6fc8601df92f.tar.bz2
rails-2514d65ca2b92f57b52e8027f6ab6fc8601df92f.zip
Removed the AS core_ext/kernel/debugger breakpoint method as this method is added by ruby-debug and should be left as is. Missing tests added.
-rw-r--r--activesupport/lib/active_support/core_ext/kernel/debugger.rb8
-rw-r--r--activesupport/test/core_ext/kernel_test.rb46
2 files changed, 44 insertions, 10 deletions
diff --git a/activesupport/lib/active_support/core_ext/kernel/debugger.rb b/activesupport/lib/active_support/core_ext/kernel/debugger.rb
index 692340c7c7..7516f41e0b 100644
--- a/activesupport/lib/active_support/core_ext/kernel/debugger.rb
+++ b/activesupport/lib/active_support/core_ext/kernel/debugger.rb
@@ -5,12 +5,6 @@ module Kernel
message = "\n***** Debugger requested, but was not available (ensure ruby-debug is listed in Gemfile/installed as gem): Start server with --debugger to enable *****\n"
defined?(Rails) ? Rails.logger.info(message) : $stderr.puts(message)
end
- end
-
- undef :breakpoint if respond_to?(:breakpoint)
- def breakpoint
- message = "\n***** The 'breakpoint' command has been renamed 'debugger' -- please change *****\n"
- defined?(Rails) ? Rails.logger.info(message) : $stderr.puts(message)
- debugger
+ alias breakpoint debugger unless respond_to?(:breakpoint)
end
end
diff --git a/activesupport/test/core_ext/kernel_test.rb b/activesupport/test/core_ext/kernel_test.rb
index ede9b0a6aa..995bc0751a 100644
--- a/activesupport/test/core_ext/kernel_test.rb
+++ b/activesupport/test/core_ext/kernel_test.rb
@@ -52,10 +52,10 @@ class KernelTest < Test::Unit::TestCase
class << o; @x = 1; end
assert_equal 1, o.class_eval { @x }
end
-
+
def test_capture
- assert_equal 'STDERR', capture(:stderr) {$stderr.print 'STDERR'}
- assert_equal 'STDOUT', capture(:stdout) {print 'STDOUT'}
+ assert_equal 'STDERR', capture(:stderr) { $stderr.print 'STDERR' }
+ assert_equal 'STDOUT', capture(:stdout) { print 'STDOUT' }
end
end
@@ -73,3 +73,43 @@ class KernelSuppressTest < Test::Unit::TestCase
suppress(LoadError, ArgumentError) { raise ArgumentError }
end
end
+
+class MockStdErr
+ attr_reader :output
+ def puts(message)
+ @output ||= []
+ @output << message
+ end
+
+ def info(message)
+ puts(message)
+ end
+
+ def write(message)
+ puts(message)
+ end
+end
+
+class KernelDebuggerTest < Test::Unit::TestCase
+ def test_debugger_not_available_message_to_stderr
+ old_stderr = $stderr
+ $stderr = MockStdErr.new
+ debugger
+ assert_match(/Debugger requested/, $stderr.output.first)
+ ensure
+ $stderr = old_stderr
+ end
+
+ def test_debugger_not_available_message_to_rails_logger
+ rails = Class.new do
+ def self.logger
+ @logger ||= MockStdErr.new
+ end
+ end
+ Object.const_set("Rails", rails)
+ debugger
+ assert_match(/Debugger requested/, rails.logger.output.first)
+ ensure
+ Object.send(:remove_const, "Rails")
+ end
+end \ No newline at end of file