def test_variables_reset(self): w = PythonFileInterpreter(content='x=\'this is a string\'\r\nprint(x)') w.execute_async() self.assertTrue('x' in w._presenter.model._globals_ns.keys()) w._presenter.is_executing = False w._presenter.view.editor.hasSelectedText = mock.MagicMock() w._presenter.view.editor.hasSelectedText.return_value = True w._presenter.view.editor.selectedText = mock.MagicMock() w._presenter.view.editor.selectedText.return_value = 'print(x)' w._presenter.view.editor.getSelection = mock.MagicMock() w._presenter.view.editor.getSelection.return_value = [0, 0, 0, 0] w.execute_async() self.assertTrue('x' in w._presenter.model._globals_ns.keys()) w._presenter.view.editor.text = mock.MagicMock() w._presenter.view.editor.text.return_value = 'print(x)' w._presenter.is_executing = False w._presenter.view.editor.hasSelectedText.return_value = False w.execute_async() self.assertFalse('x' in w._presenter.model._globals_ns.keys())
def test_successful_execution(self): w = PythonFileInterpreter() w.editor.setText("x = 1 + 2") w.execute_async() self.assertTrue("Status: Idle", w.status.currentMessage())
def test_empty_code_does_nothing_on_exec(self): w = PythonFileInterpreter() w._presenter.model.execute_async = mock.MagicMock() w.execute_async() w._presenter.model.execute_async.assert_not_called() self.assertTrue("Status: Idle", w.status.currentMessage())