def test_ModeSelector_setup(): """ Ensure the ModeSelector dialog is setup properly given a list of modes. If a mode has debugger = True it is ignored since debug mode is not a mode to be selected by users. """ editor = mock.MagicMock() view = mock.MagicMock() modes = { "python": PythonMode(editor, view), "circuitpython": CircuitPythonMode(editor, view), "microbit": MicrobitMode(editor, view), "debugger": DebugMode(editor, view), } current_mode = "python" mock_item = mock.MagicMock() with mock.patch("mu.interface.dialogs.ModeItem", mock_item): with mock.patch("mu.interface.dialogs.QVBoxLayout"): with mock.patch("mu.interface.dialogs.QListWidget"): ms = mu.interface.dialogs.ModeSelector() ms.setLayout = mock.MagicMock() ms.setup(modes, current_mode) assert ms.setLayout.call_count == 1 assert mock_item.call_count == 3
def test_ModeSelector_setup(): """ Ensure the ModeSelector dialog is setup properly given a list of modes. If a mode has debugger = True it is ignored since debug mode is not a mode to be selected by users. """ editor = mock.MagicMock() view = mock.MagicMock() modes = { 'python': PythonMode(editor, view), 'adafruit': AdafruitMode(editor, view), 'microbit': MicrobitMode(editor, view), 'debugger': DebugMode(editor, view), } current_mode = 'python' mock_item = mock.MagicMock() with mock.patch('mu.interface.dialogs.ModeItem', mock_item): with mock.patch('mu.interface.dialogs.QVBoxLayout'): with mock.patch('mu.interface.dialogs.QListWidget'): ms = mu.interface.dialogs.ModeSelector() ms.setLayout = mock.MagicMock() ms.setup(modes, current_mode) assert ms.setLayout.call_count == 1 assert mock_item.call_count == 3
def setup_modes(editor, view): """ Create a simple dictionary to hold instances of the available modes. *PREMATURE OPTIMIZATION ALERT* This may become more complex in future so splitting things out here to contain the mess. ;-) """ return { 'python': PythonMode(editor, view), 'adafruit': AdafruitMode(editor, view), 'microbit': MicrobitMode(editor, view), 'debugger': DebugMode(editor, view), }
def setup_modes(editor, view): """ Create a simple dictionary to hold instances of the available modes. *PREMATURE OPTIMIZATION ALERT* This may become more complex in future so splitting things out here to contain the mess. ;-) """ modes = { 'python': PythonMode(editor, view), 'adafruit': AdafruitMode(editor, view), 'microbit': MicrobitMode(editor, view), 'debugger': DebugMode(editor, view), } # Check if pgzero is available (without importing it) if any([m for m in pkgutil.iter_modules() if 'pgzero' in m]): modes['pygamezero'] = PyGameZeroMode(editor, view) return modes
def test_ModeSelector_setup_contrast_theme(): """ Ensure the ModeSelector handles the high contrast theme correctly. """ editor = mock.MagicMock() view = mock.MagicMock() modes = { 'python': PythonMode(editor, view), 'adafruit': AdafruitMode(editor, view), 'microbit': MicrobitMode(editor, view), } current_mode = 'python' mock_item = mock.MagicMock() mock_css = mock.MagicMock() with mock.patch('mu.interface.dialogs.ModeItem', mock_item): ms = mu.interface.dialogs.ModeSelector() ms.setStyleSheet = mock_css ms.setup(modes, current_mode, 'contrast') assert mock_item.call_count == 3 mock_css.assert_called_once_with(mu.interface.themes.CONTRAST_STYLE)
def setup_modes(editor, view): """ Create a simple dictionary to hold instances of the available modes. *PREMATURE OPTIMIZATION ALERT* This may become more complex in future so splitting things out here to contain the mess. ;-) """ modes = { "python": PythonMode(editor, view), "circuitpython": CircuitPythonMode(editor, view), "microbit": MicrobitMode(editor, view), "esp": ESPMode(editor, view), "web": WebMode(editor, view), "debugger": DebugMode(editor, view), } # Check if pgzero is available (without importing it) if any([m for m in pkgutil.iter_modules() if "pgzero" in m]): modes["pygamezero"] = PyGameZeroMode(editor, view) # return available modes return modes