| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # Copyright 2015 Google Inc. All Rights Reserved.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- """Tests for yapf.line_joiner."""
- import textwrap
- import unittest
- from yapf.yapflib import line_joiner
- from yapf.yapflib import style
- from yapftests import yapf_test_helper
- class LineJoinerTest(yapf_test_helper.YAPFTest):
- @classmethod
- def setUpClass(cls):
- style.SetGlobalStyle(style.CreatePEP8Style())
- def _CheckLineJoining(self, code, join_lines):
- """Check that the given LogicalLines are joined as expected.
- Arguments:
- code: The code to check to see if we can join it.
- join_lines: True if we expect the lines to be joined.
- """
- llines = yapf_test_helper.ParseAndUnwrap(code)
- self.assertCodeEqual(line_joiner.CanMergeMultipleLines(llines), join_lines)
- def testSimpleSingleLineStatement(self):
- code = textwrap.dedent("""\
- if isinstance(a, int): continue
- """)
- self._CheckLineJoining(code, join_lines=True)
- def testSimpleMultipleLineStatement(self):
- code = textwrap.dedent("""\
- if isinstance(b, int):
- continue
- """)
- self._CheckLineJoining(code, join_lines=False)
- def testSimpleMultipleLineComplexStatement(self):
- code = textwrap.dedent("""\
- if isinstance(c, int):
- while True:
- continue
- """)
- self._CheckLineJoining(code, join_lines=False)
- def testSimpleMultipleLineStatementWithComment(self):
- code = textwrap.dedent("""\
- if isinstance(d, int): continue # We're pleased that d's an int.
- """)
- self._CheckLineJoining(code, join_lines=True)
- def testSimpleMultipleLineStatementWithLargeIndent(self):
- code = textwrap.dedent("""\
- if isinstance(e, int): continue
- """)
- self._CheckLineJoining(code, join_lines=True)
- def testOverColumnLimit(self):
- code = textwrap.dedent("""\
- if instance(bbbbbbbbbbbbbbbbbbbbbbbbb, int): cccccccccccccccccccccccccc = ddddddddddddddddddddd
- """) # noqa
- self._CheckLineJoining(code, join_lines=False)
- if __name__ == '__main__':
- unittest.main()
|