| 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 |