File: test_dedent.py

package info (click to toggle)
graphql-relay 3.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 416 kB
  • sloc: python: 3,006; sh: 14; makefile: 4
file content (98 lines) | stat: -rw-r--r-- 2,268 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from . import dedent


def describe_dedent():
    def removes_indentation_in_typical_usage():
        assert (
            dedent(
                """
                type Query {
                  me: User
                }

                type User {
                  id: ID
                  name: String
                }
                """
            )
            == "type Query {\n  me: User\n}\n\n"
            "type User {\n  id: ID\n  name: String\n}"
        )

    def removes_only_the_first_level_of_indentation():
        assert (
            dedent(
                """
                first
                  second
                    third
                      fourth
                """
            )
            == "first\n  second\n    third\n      fourth"
        )

    def does_not_escape_special_characters():
        assert (
            dedent(
                """
                type Root {
                  field(arg: String = "wi\th de\fault"): String
                }
                """
            )
            == "type Root {\n"
            '  field(arg: String = "wi\th de\fault"): String\n}'
        )

    def also_removes_indentation_using_tabs():
        assert (
            dedent(
                """
                \t\t    type Query {
                \t\t      me: User
                \t\t    }
                """
            )
            == "type Query {\n  me: User\n}"
        )

    def removes_leading_and_trailing_newlines():
        assert (
            dedent(
                """


                 type Query {
                   me: User
                 }


                 """
            )
            == "type Query {\n  me: User\n}"
        )

    def removes_all_trailing_spaces_and_tabs():
        assert (
            dedent(
                """
                type Query {
                  me: User
                }
                    \t\t  \t """
            )
            == "type Query {\n  me: User\n}"
        )

    def works_on_text_without_leading_newline():
        assert (
            dedent(
                """                type Query {
                  me: User
                }
                """
            )
            == "type Query {\n  me: User\n}"
        )