Permalink
Browse files

Removed the AS core_ext/kernel/debugger breakpoint method as this met…

…hod is added by ruby-debug and should be left as is. Missing tests added.
  • Loading branch information...
1 parent eff5d9a commit 2514d65ca2b92f57b52e8027f6ab6fc8601df92f @joshk joshk committed May 23, 2011
@@ -5,12 +5,6 @@ def debugger
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
@@ -52,10 +52,10 @@ def test_class_eval
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 @@ def test_suppression
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

0 comments on commit 2514d65

Please sign in to comment.