From a47578be55bc5c49a520d3fed8bcc0cbb635dc3c Mon Sep 17 00:00:00 2001 From: mariacamilaremolinagutierrez Date: Sun, 1 Jan 2017 05:06:06 -0500 Subject: [PATCH 1/3] initial commit --- spyder/widgets/variableexplorer/collectionseditor.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/spyder/widgets/variableexplorer/collectionseditor.py b/spyder/widgets/variableexplorer/collectionseditor.py index 907a27eb971..a7610c152f7 100644 --- a/spyder/widgets/variableexplorer/collectionseditor.py +++ b/spyder/widgets/variableexplorer/collectionseditor.py @@ -493,10 +493,14 @@ def createEditor(self, parent, option, index): return editor #---editor = TextEditor elif is_text_string(value) and len(value) > 40: - editor = TextEditor(value, key) - self.create_dialog(editor, dict(model=index.model(), editor=editor, - key=key, readonly=readonly)) - return None + try: + editor = TextEditor(value, key) + self.create_dialog(editor, dict(model=index.model(), + editor=editor, key=key, + readonly=readonly)) + return None + except: + return None #---editor = QLineEdit elif is_editable_type(value): editor = QLineEdit(parent) From a57130aea6fc0b8fc245dcbff1fb44c858aa84b9 Mon Sep 17 00:00:00 2001 From: mariacamilaremolinagutierrez Date: Thu, 12 Jan 2017 14:56:42 -0500 Subject: [PATCH 2/3] PR corrected --- .../variableexplorer/collectionseditor.py | 7 ++-- .../variableexplorer/tests/test_texteditor.py | 32 +++++++++++++++++++ spyder/widgets/variableexplorer/texteditor.py | 8 +++++ 3 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 spyder/widgets/variableexplorer/tests/test_texteditor.py diff --git a/spyder/widgets/variableexplorer/collectionseditor.py b/spyder/widgets/variableexplorer/collectionseditor.py index a7610c152f7..ff5988fe954 100644 --- a/spyder/widgets/variableexplorer/collectionseditor.py +++ b/spyder/widgets/variableexplorer/collectionseditor.py @@ -493,14 +493,13 @@ def createEditor(self, parent, option, index): return editor #---editor = TextEditor elif is_text_string(value) and len(value) > 40: - try: + te = TextEditor(None) + if te.setup_and_check(value): editor = TextEditor(value, key) self.create_dialog(editor, dict(model=index.model(), editor=editor, key=key, readonly=readonly)) - return None - except: - return None + return None #---editor = QLineEdit elif is_editable_type(value): editor = QLineEdit(parent) diff --git a/spyder/widgets/variableexplorer/tests/test_texteditor.py b/spyder/widgets/variableexplorer/tests/test_texteditor.py new file mode 100644 index 00000000000..ff9c13220e7 --- /dev/null +++ b/spyder/widgets/variableexplorer/tests/test_texteditor.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# +# Copyright © Spyder Project Contributors +# Licensed under the terms of the MIT License + +""" +Tests for texteditor.py +""" + +# Third party imports +import pytest + +# Local imports +from spyder.py3compat import PY2 +from spyder.widgets.variableexplorer.texteditor import TextEditor + + +# --- Tests +# ----------------------------------------------------------------------------- + +def test_texteditor_setup_and_check(): + if PY2: + import string + dig_its = string.digits; + translate_digits = string.maketrans(dig_its,len(dig_its)*' ') + editor = TextEditor(None) + assert editor.setup_and_check(translate_digits) + else: + assert True + +if __name__ == "__main__": + pytest.main() diff --git a/spyder/widgets/variableexplorer/texteditor.py b/spyder/widgets/variableexplorer/texteditor.py index d9d2503a234..f416dc3090a 100644 --- a/spyder/widgets/variableexplorer/texteditor.py +++ b/spyder/widgets/variableexplorer/texteditor.py @@ -89,6 +89,14 @@ def get_value(self): # already been destroyed, due to the Qt.WA_DeleteOnClose attribute return self.text + def setup_and_check(self, value): + """Verify if TextEditor is able to display strings passed to it.""" + try: + to_text_string(value, 'utf8') + return True + except: + return False + #============================================================================== # Tests From f615c5c17b63aa0958f168f89cab2d70f43cb06c Mon Sep 17 00:00:00 2001 From: mariacamilaremolinagutierrez Date: Thu, 12 Jan 2017 16:03:20 -0500 Subject: [PATCH 3/3] git assert not --- spyder/widgets/variableexplorer/tests/test_texteditor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spyder/widgets/variableexplorer/tests/test_texteditor.py b/spyder/widgets/variableexplorer/tests/test_texteditor.py index ff9c13220e7..d253049097f 100644 --- a/spyder/widgets/variableexplorer/tests/test_texteditor.py +++ b/spyder/widgets/variableexplorer/tests/test_texteditor.py @@ -24,7 +24,7 @@ def test_texteditor_setup_and_check(): dig_its = string.digits; translate_digits = string.maketrans(dig_its,len(dig_its)*' ') editor = TextEditor(None) - assert editor.setup_and_check(translate_digits) + assert not editor.setup_and_check(translate_digits) else: assert True