def test_add_fs_with_repl(): """ If the REPL is active, you can't add the file system pane. """ view = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.repl = True with mock.patch('mu.modes.microbit.microfs.get_serial', return_value=True): mm.add_fs() assert view.add_filesystem.call_count == 0
def test_toggle_repl(): """ If the file system is active, show a helpful message instead. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) with mock.patch('mu.modes.microbit.MicroPythonMode.toggle_repl') as tr: mm.repl = None mm.toggle_repl(None) tr.assert_called_once_with(None)
def test_toggle_files_off(): """ If the fs is on, toggle if off. """ view = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.remove_fs = mock.MagicMock() mm.repl = None mm.fs = True mm.toggle_files(None) assert mm.remove_fs.call_count == 1
def test_toggle_files_on(): """ If the fs is off, toggle it on. """ view = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.add_fs = mock.MagicMock() mm.repl = None mm.fs = None mm.toggle_files(None) assert mm.add_fs.call_count == 1
def test_toggle_repl_with_fs(): """ If the file system is active, show a helpful message instead. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.remove_repl = mock.MagicMock() mm.repl = None mm.fs = True mm.toggle_repl(None) assert view.show_message.call_count == 1
def test_toggle_files_with_repl(): """ If the REPL is active, ensure a helpful message is displayed. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.add_repl = mock.MagicMock() mm.repl = True mm.fs = None mm.toggle_files(None) assert view.show_message.call_count == 1
def test_toggle_repl(): """ Ensure the REPL is able to toggle on if there's no file system pane. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) def side_effect(*args, **kwargs): mm.repl = True with mock.patch('mu.modes.microbit.MicroPythonMode.toggle_repl', side_effect=side_effect) as tr: mm.repl = None mm.toggle_repl(None) tr.assert_called_once_with(None) view.button_bar.slots['files'].\ setEnabled.assert_called_once_with(False)
def test_toggle_repl_no_repl_or_plotter(): """ Ensure the file system button is enabled if the repl toggles off and the plotter isn't active. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.set_buttons = mock.MagicMock() def side_effect(*args, **kwargs): mm.repl = False mm.plotter = False with mock.patch('mu.modes.microbit.MicroPythonMode.toggle_repl', side_effect=side_effect) as tr: mm.repl = None mm.toggle_repl(None) tr.assert_called_once_with(None) mm.set_buttons.assert_called_once_with(files=True)
def test_toggle_repl(): """ Ensure the REPL is able to toggle on if there's no file system pane. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) mm.set_buttons = mock.MagicMock() def side_effect(*args, **kwargs): mm.repl = True with mock.patch( "mu.modes.microbit.MicroPythonMode.toggle_repl", side_effect=side_effect, ) as tr: mm.repl = None mm.toggle_repl(None) tr.assert_called_once_with(None) mm.set_buttons.assert_called_once_with(flash=False, files=False)
def test_toggle_repl_no_repl_or_plotter(): """ Ensure the file system button is enabled if the repl toggles off and the plotter isn't active. """ view = mock.MagicMock() view.show_message = mock.MagicMock() editor = mock.MagicMock() mm = MicrobitMode(editor, view) def side_effect(*args, **kwargs): mm.repl = False mm.plotter = False with mock.patch('mu.modes.microbit.MicroPythonMode.toggle_repl', side_effect=side_effect) as tr: mm.repl = None mm.toggle_repl(None) tr.assert_called_once_with(None) view.button_bar.slots['files'].\ setEnabled.assert_called_once_with(True)
def test_toggle_files_on(): """ If the fs is off, toggle it on. """ view = mock.MagicMock() view.button_bar.slots = { 'repl': mock.MagicMock(), 'plotter': mock.MagicMock(), } editor = mock.MagicMock() mm = MicrobitMode(editor, view) def side_effect(*args, **kwargs): mm.fs = True mm.add_fs = mock.MagicMock(side_effect=side_effect) mm.repl = None mm.fs = None mm.toggle_files(None) assert mm.add_fs.call_count == 1 view.button_bar.slots['repl'].setEnabled.assert_called_once_with(False) view.button_bar.slots['plotter'].setEnabled.assert_called_once_with(False)
def test_toggle_files_on(): """ If the fs is off, toggle it on. """ view = mock.MagicMock() view.button_bar.slots = { 'repl': mock.MagicMock(), 'plotter': mock.MagicMock(), } editor = mock.MagicMock() mm = MicrobitMode(editor, view) def side_effect(*args, **kwargs): mm.fs = True mm.add_fs = mock.MagicMock(side_effect=side_effect) mm.repl = None mm.fs = None mm.toggle_files(None) assert mm.add_fs.call_count == 1 view.button_bar.slots['repl'].setEnabled.assert_called_once_with(False) view.button_bar.slots['plotter'].setEnabled.assert_called_once_with(False)