issue 1553: Include terminal newlines in diffs
This commit is contained in:
parent
144dc12e55
commit
98adf204b2
|
@ -23,15 +23,23 @@
|
|||
only ran once. Now a failure is raised. Fixes (`#460`_). Thanks to
|
||||
`@nikratio`_ for bug report, `@RedBeardCode`_ and `@tomviner`_ for PR.
|
||||
|
||||
* Create correct diff for strings ending with newlines. Fixes (`#1553`_).
|
||||
Thanks `@Vogtinator`_ for reporting. Thanks to `@RedBeardCode`_ and
|
||||
`@tomviner`_ for PR.
|
||||
|
||||
*
|
||||
|
||||
.. _#1580: https://github.com/pytest-dev/pytest/pull/1580
|
||||
.. _#1605: https://github.com/pytest-dev/pytest/issues/1605
|
||||
.. _#1597: https://github.com/pytest-dev/pytest/pull/1597
|
||||
.. _#460: https://github.com/pytest-dev/pytest/pull/460
|
||||
.. _#1553: https://github.com/pytest-dev/pytest/issues/1553
|
||||
|
||||
.. _@graingert: https://github.com/graingert
|
||||
.. _@taschini: https://github.com/taschini
|
||||
.. _@nikratio: https://github.com/nikratio
|
||||
.. _@RedBeardCode: https://github.com/RedBeardCode
|
||||
.. _@Vogtinator: https://github.com/Vogtinator
|
||||
|
||||
|
||||
2.9.2
|
||||
|
|
|
@ -225,9 +225,10 @@ def _diff_text(left, right, verbose=False):
|
|||
'characters in diff, use -v to show') % i]
|
||||
left = left[:-i]
|
||||
right = right[:-i]
|
||||
keepends = True
|
||||
explanation += [line.strip('\n')
|
||||
for line in ndiff(left.splitlines(),
|
||||
right.splitlines())]
|
||||
for line in ndiff(left.splitlines(keepends),
|
||||
right.splitlines(keepends))]
|
||||
return explanation
|
||||
|
||||
|
||||
|
|
|
@ -428,7 +428,7 @@ def test_assert_compare_truncate_longmessage(monkeypatch, testdir):
|
|||
"*- 3",
|
||||
"*- 5",
|
||||
"*- 7",
|
||||
"*truncated (191 more lines)*use*-vv*",
|
||||
"*truncated (193 more lines)*use*-vv*",
|
||||
])
|
||||
|
||||
|
||||
|
@ -626,3 +626,17 @@ def test_set_with_unsortable_elements():
|
|||
+ repr(3)
|
||||
""").strip()
|
||||
assert '\n'.join(expl) == dedent
|
||||
|
||||
def test_diff_newline_at_end(monkeypatch, testdir):
|
||||
testdir.makepyfile(r"""
|
||||
def test_diff():
|
||||
assert 'asdf' == 'asdf\n'
|
||||
""")
|
||||
|
||||
result = testdir.runpytest()
|
||||
result.stdout.fnmatch_lines(r"""
|
||||
*assert 'asdf' == 'asdf\n'
|
||||
* - asdf
|
||||
* + asdf
|
||||
* ? +
|
||||
""")
|
||||
|
|
Loading…
Reference in New Issue