def test_debug_start(): """ Ensure the handling of starting the debugger works as expected. """ editor = mock.MagicMock() editor.envars = [['name', 'value'], ] view = mock.MagicMock() view.current_tab.path = '/foo' view.current_tab.isModified.return_value = True mock_runner = mock.MagicMock() view.add_python3_runner.return_value = mock_runner mock_debugger = mock.MagicMock() mock_debugger_class = mock.MagicMock(return_value=mock_debugger) dm = DebugMode(editor, view) dm.workspace_dir = mock.MagicMock(return_value='/bar') with mock.patch('builtins.open') as oa, \ mock.patch('mu.modes.debugger.Debugger', mock_debugger_class), \ mock.patch('mu.modes.debugger.write_and_flush'): dm.start() oa.assert_called_once_with('/foo', 'w', newline='') view.add_python3_runner.assert_called_once_with('/foo', '/bar', debugger=True, envars=[['name', 'value']]) mock_runner.process.waitForStarted.assert_called_once_with() mock_runner.process.finished.connect.assert_called_once_with(dm.finished) view.add_debug_inspector.assert_called_once_with() view.set_read_only.assert_called_once_with(True) mock_debugger_class.assert_called_once_with('localhost', DEBUGGER_PORT, proc=mock_runner.process) assert dm.runner == mock_runner assert dm.debugger == mock_debugger assert mock_debugger.view == dm mock_debugger.start.assert_called_once_with()
def test_debug_start(): """ Ensure the handling of starting the debugger works as expected. """ editor = mock.MagicMock() view = mock.MagicMock() view.current_tab.path = '/foo' view.current_tab.isModified.return_value = True mock_runner = mock.MagicMock() view.add_python3_runner.return_value = mock_runner mock_debugger = mock.MagicMock() mock_debugger_class = mock.MagicMock(return_value=mock_debugger) dm = DebugMode(editor, view) dm.workspace_dir = mock.MagicMock(return_value='/bar') with mock.patch('builtins.open') as oa, \ mock.patch('mu.modes.debugger.Debugger', mock_debugger_class), \ mock.patch('mu.modes.debugger.write_and_flush'): dm.start() oa.assert_called_once_with('/foo', 'w', newline='') view.add_python3_runner.assert_called_once_with('/foo', '/bar') mock_runner.process.waitForStarted.assert_called_once_with() mock_runner.process.finished.connect.assert_called_once_with(dm.finished) view.add_debug_inspector.assert_called_once_with() view.set_read_only.assert_called_once_with(True) mock_debugger_class.assert_called_once_with('localhost', DEBUGGER_PORT, proc=mock_runner.process) assert dm.runner == mock_runner assert dm.debugger == mock_debugger assert mock_debugger.view == dm mock_debugger.start.assert_called_once_with()
def test_debug_start(): """ Ensure the handling of starting the debugger works as expected. """ editor = mock.MagicMock() editor.envars = [['name', 'value'], ] view = mock.MagicMock() view.current_tab.path = '/foo' view.current_tab.isModified.return_value = True mock_runner = mock.MagicMock() view.add_python3_runner.return_value = mock_runner mock_debugger = mock.MagicMock() mock_debugger_class = mock.MagicMock(return_value=mock_debugger) dm = DebugMode(editor, view) dm.workspace_dir = mock.MagicMock(return_value='/bar') with mock.patch('mu.modes.debugger.Debugger', mock_debugger_class): dm.start() editor.save_tab_to_file.called_once_with(view.current_tab) view.add_python3_runner.assert_called_once_with('/foo', '/bar', debugger=True, envars=[['name', 'value']]) mock_runner.process.waitForStarted.assert_called_once_with() mock_runner.process.finished.connect.assert_called_once_with(dm.finished) view.add_debug_inspector.assert_called_once_with() view.set_read_only.assert_called_once_with(True) mock_debugger_class.assert_called_once_with('localhost', DEBUGGER_PORT, proc=mock_runner.process) assert dm.runner == mock_runner assert dm.debugger == mock_debugger assert mock_debugger.view == dm mock_debugger.start.assert_called_once_with()