Merge pull request #230 from felixonmars/master
Note explicit support for Python 3.5
diff --git a/yapf/yapflib/split_penalty.py b/yapf/yapflib/split_penalty.py
index 2c770f8..a4e9b9b 100644
--- a/yapf/yapflib/split_penalty.py
+++ b/yapf/yapflib/split_penalty.py
@@ -23,6 +23,7 @@
# TODO(morbo): Document the annotations in a centralized place. E.g., the
# README file.
UNBREAKABLE = 1000 * 1000
+DOTTED_NAME = 2500
STRONGLY_CONNECTED = 2000
CONTIGUOUS_LIST = 500
@@ -134,6 +135,9 @@
self.DefaultNodeVisit(node)
if node.children[0].value == '.':
self._SetUnbreakableOnChildren(node)
+ pytree_utils.SetNodeAnnotation(
+ node.children[1], pytree_utils.Annotation.SPLIT_PENALTY,
+ DOTTED_NAME)
elif len(node.children) == 2:
# Don't split an empty argument list if at all possible.
self._SetStronglyConnected(node.children[1])
diff --git a/yapftests/reformatter_test.py b/yapftests/reformatter_test.py
index adce679..9eb4422 100644
--- a/yapftests/reformatter_test.py
+++ b/yapftests/reformatter_test.py
@@ -1509,6 +1509,20 @@
def setUpClass(cls):
style.SetGlobalStyle(style.CreateChromiumStyle())
+ def testB27266946(self):
+ unformatted_code = textwrap.dedent("""\
+ def _():
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = (self.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.cccccccccccccccccccccccccccccccccccc)
+ """)
+ expected_formatted_code = textwrap.dedent("""\
+ def _():
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = (
+ self.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.
+ cccccccccccccccccccccccccccccccccccc)
+ """)
+ uwlines = _ParseAndUnwrap(unformatted_code)
+ self.assertCodeEqual(expected_formatted_code, reformatter.Reformat(uwlines))
+
def testB25505359(self):
code = textwrap.dedent("""\
_EXAMPLE = {
diff --git a/yapftests/split_penalty_test.py b/yapftests/split_penalty_test.py
index 77d2d81..9e4f382 100644
--- a/yapftests/split_penalty_test.py
+++ b/yapftests/split_penalty_test.py
@@ -24,6 +24,7 @@
from yapf.yapflib import split_penalty
UNBREAKABLE = split_penalty.UNBREAKABLE
+DOTTED_NAME = split_penalty.DOTTED_NAME
STRONGLY_CONNECTED = split_penalty.STRONGLY_CONNECTED
CONTIGUOUS_LIST = split_penalty.CONTIGUOUS_LIST
@@ -195,7 +196,7 @@
('if', 0),
('a', STRONGLY_CONNECTED),
('.', UNBREAKABLE),
- ('x', UNBREAKABLE),
+ ('x', DOTTED_NAME),
('==', STRONGLY_CONNECTED),
('37', STRONGLY_CONNECTED),
(']', CONTIGUOUS_LIST),