blob: e776b8ae1a4f4726621c0f8f24837ad79e0d7311 [file] [log] [blame]
require 'test/unit'
require 'basic/BasicBreakpointManager'
require 'test/MockContext'
class MockRuntimeError < RuntimeError
end
module XoredDebugger
class BasicBreakpointManagerTest < Test::Unit::TestCase
def setup()
@breakpoint_manager = BasicBreakpointManager.new
@context = MockContext.new
end
def teardown()
end
def test_line_breakpoint
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
@breakpoint_manager.add_line_breakpoint('test.rb', 100, true)
assert_equal(false, @breakpoint_manager .breakpoints.empty?)
assert_equal(false, @breakpoint_manager.check_line_breakpoint(__FILE__, __LINE__, @context))
assert_equal(false, @breakpoint_manager.breakpoints.empty?)
assert_equal(true, @breakpoint_manager.check_line_breakpoint('test.rb', 100, @context))
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
bp = @breakpoint_manager.add_line_breakpoint('test.rb', 100, false)
assert_equal(true, @breakpoint_manager.check_line_breakpoint('test.rb', 100, @context))
assert_equal(true, @breakpoint_manager.check_line_breakpoint('test.rb', 100, @context))
@breakpoint_manager.remove_breakpoint(bp.breakpoint_id)
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
bp = @breakpoint_manager.add_line_breakpoint(__FILE__, __LINE__ + 1, false)
assert_equal(true, @breakpoint_manager.check_line_breakpoint(__FILE__, __LINE__, @context))
@breakpoint_manager.remove_breakpoint(bp.breakpoint_id)
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
end
def test_exception_breakpoint
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
@breakpoint_manager.add_exception_breakpoint('RuntimeError', true)
assert_equal(false, @breakpoint_manager.breakpoints.empty?)
assert_equal(false, @breakpoint_manager.check_exception_breakpoint(Exception.new, @context))
assert_equal(false, @breakpoint_manager.breakpoints.empty?)
assert_equal(true, @breakpoint_manager.check_exception_breakpoint(RuntimeError.new, @context))
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
bp = @breakpoint_manager.add_exception_breakpoint('RuntimeError', false)
assert_equal(true, @breakpoint_manager.check_exception_breakpoint(RuntimeError.new, @context))
assert_equal(true, @breakpoint_manager.check_exception_breakpoint(MockRuntimeError.new, @context))
@breakpoint_manager.remove_breakpoint(bp.breakpoint_id)
assert_equal(true, @breakpoint_manager.breakpoints.empty?)
end
end
end