From 105fe1507f822d5bc4798bc0f593f520aadafa76 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Mon, 18 Feb 2013 15:07:41 +0400 Subject: [PATCH] do not count "\n" as part of indent --- .../jetbrains/python/editor/PythonCopyPasteProcessor.java | 2 +- python/testData/copyPaste/Dictionary.after.py | 7 +++++++ python/testData/copyPaste/Dictionary.dst.py | 3 +++ python/testData/copyPaste/Dictionary.src.py | 5 +++++ python/testSrc/com/jetbrains/python/PyCopyPasteTest.java | 4 ++++ 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 python/testData/copyPaste/Dictionary.after.py create mode 100644 python/testData/copyPaste/Dictionary.dst.py create mode 100644 python/testData/copyPaste/Dictionary.src.py diff --git a/python/src/com/jetbrains/python/editor/PythonCopyPasteProcessor.java b/python/src/com/jetbrains/python/editor/PythonCopyPasteProcessor.java index f8d74423fa15..9e606f9b24f2 100644 --- a/python/src/com/jetbrains/python/editor/PythonCopyPasteProcessor.java +++ b/python/src/com/jetbrains/python/editor/PythonCopyPasteProcessor.java @@ -42,7 +42,7 @@ public class PythonCopyPasteProcessor implements CopyPastePreProcessor { CodeStyleSettingsManager.getSettings(project).useTabCharacter(PythonFileType.INSTANCE); CharFilter NOT_INDENT_FILTER = new CharFilter() { public boolean accept(char ch) { - return useTabs? ch != '\t' : !Character.isWhitespace(ch); + return useTabs? ch != '\t' : ch != ' '; } }; final CaretModel caretModel = editor.getCaretModel(); diff --git a/python/testData/copyPaste/Dictionary.after.py b/python/testData/copyPaste/Dictionary.after.py new file mode 100644 index 000000000000..56c8f0b84ffd --- /dev/null +++ b/python/testData/copyPaste/Dictionary.after.py @@ -0,0 +1,7 @@ +a = 1 + +d = { + 'a': 1, +} + +b = 2 \ No newline at end of file diff --git a/python/testData/copyPaste/Dictionary.dst.py b/python/testData/copyPaste/Dictionary.dst.py new file mode 100644 index 000000000000..d72349232198 --- /dev/null +++ b/python/testData/copyPaste/Dictionary.dst.py @@ -0,0 +1,3 @@ +a = 1 + +b = 2 \ No newline at end of file diff --git a/python/testData/copyPaste/Dictionary.src.py b/python/testData/copyPaste/Dictionary.src.py new file mode 100644 index 000000000000..d5f65223fe18 --- /dev/null +++ b/python/testData/copyPaste/Dictionary.src.py @@ -0,0 +1,5 @@ + +d = { + 'a': 1, +} + diff --git a/python/testSrc/com/jetbrains/python/PyCopyPasteTest.java b/python/testSrc/com/jetbrains/python/PyCopyPasteTest.java index 901e9fc77b6e..7af162de0bda 100644 --- a/python/testSrc/com/jetbrains/python/PyCopyPasteTest.java +++ b/python/testSrc/com/jetbrains/python/PyCopyPasteTest.java @@ -269,6 +269,10 @@ public class PyCopyPasteTest extends PyTestCase { doTest(); } + public void testDictionary() { //PY-8875 + doTest(); + } + public void testIndentTab() { doTestTabs(); }