File: test_amber_newlines.py

package info (click to toggle)
python-syrupy 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,396 kB
  • sloc: python: 5,982; makefile: 3
file content (34 lines) | stat: -rw-r--r-- 808 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class ReprWithNewline:
    def __init__(self, newlines: int = 1) -> None:
        self.newlines = newlines

    def __repr__(self) -> str:
        newlines = "\n" * self.newlines
        return f"ReprWithNewline{newlines}"


def test_trailing_no_newline_in_repr(snapshot):
    assert ReprWithNewline(0) == snapshot


def test_trailing_newline_in_repr(snapshot):
    assert ReprWithNewline(1) == snapshot


def test_trailing_2_newlines_in_repr(snapshot):
    assert ReprWithNewline(2) == snapshot


class MultilineRepr:
    def __repr__(self) -> str:
        return "\n".join(
            [
                "Line1",
                "Line2\n",  # extra newline
                "Line3 ",  # with an extra space
            ]
        )


def test_multiline_repr(snapshot):
    assert MultilineRepr() == snapshot