Skip to content

Commit 1592ec8

Browse files
committed
Fix docstrings backslash escaping
1 parent f966d11 commit 1592ec8

File tree

11 files changed

+84
-59
lines changed

11 files changed

+84
-59
lines changed

tests/fixtures/docstrings/accessible/schema.py

+12-11
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class DoubleQuotesDescription:
1010
"""Let's trip.
1111
12-
Dont trip on quotes: "A", "B", "C", "D"
12+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum
1313
"""
1414
class Meta:
1515
namespace = "urn:docs"
@@ -18,7 +18,7 @@ class Meta:
1818
@dataclass
1919
class DoubleQuotesSummary:
2020
"""
21-
Dont trip on quotes: "A", "B", "C", "D".
21+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum.
2222
"""
2323
class Meta:
2424
namespace = "urn:docs"
@@ -32,7 +32,7 @@ class RootEnum(Enum):
3232
RootEnum.A.__doc__ = "Lorem ipsum dolor"
3333
RootEnum.B.__doc__ = (
3434
"Lorem ipsum dolor '''sit''' amet, consectetur adipiscing elit. Morbi "
35-
"dapibus."
35+
"dapibus. My\\Ipsum"
3636
)
3737

3838

@@ -45,7 +45,7 @@ class RootB(Enum):
4545
"This is an inner enum member documentation. Lorem ipsum dolor sit amet, "
4646
"consectetur adipiscing elit. Etiam mollis."
4747
)
48-
RootB.NO.__doc__ = "Lorem ipsum dolor"
48+
RootB.NO.__doc__ = "Lorem ipsum dolor\nMy\\Ipsum"
4949

5050

5151
class RootD(Enum):
@@ -55,12 +55,12 @@ class RootD(Enum):
5555

5656
@dataclass
5757
class Root:
58-
"""This is the root type documentation. '''Lorem ipsum''' dolor sit amet,
59-
consectetur adipiscing elit. Morbi dapibus.
58+
"""This is the root type documentation.
6059
61-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec
62-
imperdiet lacus sed sagittis scelerisque. Ut sodales metus: "sit",
63-
"amet", "lectus"
60+
'''Lorem ipsum''' dolor sit amet, consectetur adipiscing elit. Morbi
61+
dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
62+
Donec imperdiet lacus sed sagittis scelerisque. Ut sodales metus:
63+
"sit", "amet", "lectus" My\\Ipsum
6464
"""
6565
class Meta:
6666
namespace = "urn:docs"
@@ -73,7 +73,8 @@ class Meta:
7373
"required": True,
7474
"doc": (
7575
"This is an inner type '''field''' documentation.\nLorem ipsum"
76-
" dolor sit amet, consectetur adipiscing elit. Aliquam nec."
76+
" dolor sit amet, consectetur adipiscing elit. Aliquam "
77+
"nec.\nMy\\Ipsum"
7778
),
7879
}
7980
)
@@ -117,7 +118,7 @@ class A:
117118
"doc": (
118119
"This is an inner type '''field''' documentation.\nLorem ipsum"
119120
" dolor sit amet, consectetur adipiscing elit. Vivamus "
120-
"efficitur."
121+
"efficitur.\nMy\\Ipsum"
121122
),
122123
}
123124
)

tests/fixtures/docstrings/google/schema.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class DoubleQuotesDescription:
1010
"""Let's trip.
1111
12-
Dont trip on quotes: "A", "B", "C", "D"
12+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum
1313
"""
1414
class Meta:
1515
namespace = "urn:docs"
@@ -18,7 +18,7 @@ class Meta:
1818
@dataclass
1919
class DoubleQuotesSummary:
2020
"""
21-
Dont trip on quotes: "A", "B", "C", "D".
21+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum.
2222
"""
2323
class Meta:
2424
namespace = "urn:docs"
@@ -29,7 +29,7 @@ class RootEnum(Enum):
2929
Attributes
3030
A: Lorem ipsum dolor
3131
B: Lorem ipsum dolor '''sit''' amet, consectetur adipiscing
32-
elit. Morbi dapibus.
32+
elit. Morbi dapibus. My\\Ipsum
3333
"""
3434
A = "A"
3535
B = "B"
@@ -40,7 +40,7 @@ class RootB(Enum):
4040
Attributes
4141
YES: This is an inner enum member documentation. Lorem ipsum
4242
dolor sit amet, consectetur adipiscing elit. Etiam mollis.
43-
NO: Lorem ipsum dolor
43+
NO: Lorem ipsum dolor My\\Ipsum
4444
"""
4545
YES = "Yes"
4646
NO = "No"
@@ -53,16 +53,17 @@ class RootD(Enum):
5353

5454
@dataclass
5555
class Root:
56-
"""This is the root type documentation. '''Lorem ipsum''' dolor sit amet,
57-
consectetur adipiscing elit. Morbi dapibus.
56+
"""This is the root type documentation.
5857
59-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec
60-
imperdiet lacus sed sagittis scelerisque. Ut sodales metus: "sit",
61-
"amet", "lectus"
58+
'''Lorem ipsum''' dolor sit amet, consectetur adipiscing elit. Morbi
59+
dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
60+
Donec imperdiet lacus sed sagittis scelerisque. Ut sodales metus:
61+
"sit", "amet", "lectus" My\\Ipsum
6262
6363
Attributes
6464
a: This is an inner type '''field''' documentation. Lorem ipsum
6565
dolor sit amet, consectetur adipiscing elit. Aliquam nec.
66+
My\\Ipsum
6667
b: This is a second root type field documentation.
6768
c:
6869
d:
@@ -111,7 +112,7 @@ class A:
111112
Attributes
112113
sub_a: This is an inner type '''field''' documentation.
113114
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
114-
Vivamus efficitur.
115+
Vivamus efficitur. My\\Ipsum
115116
"""
116117
sub_a: Optional[str] = field(
117118
default=None,

tests/fixtures/docstrings/numpy/schema.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class DoubleQuotesDescription:
1010
"""Let's trip.
1111
12-
Dont trip on quotes: "A", "B", "C", "D"
12+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum
1313
"""
1414
class Meta:
1515
namespace = "urn:docs"
@@ -18,7 +18,7 @@ class Meta:
1818
@dataclass
1919
class DoubleQuotesSummary:
2020
"""
21-
Dont trip on quotes: "A", "B", "C", "D".
21+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum.
2222
"""
2323
class Meta:
2424
namespace = "urn:docs"
@@ -30,7 +30,7 @@ class RootEnum(Enum):
3030
----------
3131
A: Lorem ipsum dolor
3232
B: Lorem ipsum dolor '''sit''' amet, consectetur adipiscing elit.
33-
Morbi dapibus.
33+
Morbi dapibus. My\\Ipsum
3434
"""
3535
A = "A"
3636
B = "B"
@@ -42,7 +42,7 @@ class RootB(Enum):
4242
----------
4343
YES: This is an inner enum member documentation. Lorem ipsum dolor
4444
sit amet, consectetur adipiscing elit. Etiam mollis.
45-
NO: Lorem ipsum dolor
45+
NO: Lorem ipsum dolor My\\Ipsum
4646
"""
4747
YES = "Yes"
4848
NO = "No"
@@ -55,17 +55,18 @@ class RootD(Enum):
5555

5656
@dataclass
5757
class Root:
58-
"""This is the root type documentation. '''Lorem ipsum''' dolor sit amet,
59-
consectetur adipiscing elit. Morbi dapibus.
58+
"""This is the root type documentation.
6059
61-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec
62-
imperdiet lacus sed sagittis scelerisque. Ut sodales metus: "sit",
63-
"amet", "lectus"
60+
'''Lorem ipsum''' dolor sit amet, consectetur adipiscing elit. Morbi
61+
dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
62+
Donec imperdiet lacus sed sagittis scelerisque. Ut sodales metus:
63+
"sit", "amet", "lectus" My\\Ipsum
6464
6565
Parameters
6666
----------
6767
a: This is an inner type '''field''' documentation. Lorem ipsum
6868
dolor sit amet, consectetur adipiscing elit. Aliquam nec.
69+
My\\Ipsum
6970
b: This is a second root type field documentation.
7071
c:
7172
d:
@@ -115,7 +116,7 @@ class A:
115116
----------
116117
sub_a: This is an inner type '''field''' documentation. Lorem
117118
ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
118-
efficitur.
119+
efficitur. My\\Ipsum
119120
"""
120121
sub_a: Optional[str] = field(
121122
default=None,

tests/fixtures/docstrings/rst/schema.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class DoubleQuotesDescription:
1010
"""Let's trip.
1111
12-
Dont trip on quotes: "A", "B", "C", "D"
12+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum
1313
"""
1414
class Meta:
1515
namespace = "urn:docs"
@@ -18,7 +18,7 @@ class Meta:
1818
@dataclass
1919
class DoubleQuotesSummary:
2020
"""
21-
Dont trip on quotes: "A", "B", "C", "D".
21+
Dont trip on quotes: "A", "B", "C", "D" My\\Ipsum.
2222
"""
2323
class Meta:
2424
namespace = "urn:docs"
@@ -28,7 +28,7 @@ class RootEnum(Enum):
2828
"""
2929
:cvar A: Lorem ipsum dolor
3030
:cvar B: Lorem ipsum dolor '''sit''' amet, consectetur adipiscing
31-
elit. Morbi dapibus.
31+
elit. Morbi dapibus. My\\Ipsum
3232
"""
3333
A = "A"
3434
B = "B"
@@ -38,7 +38,7 @@ class RootB(Enum):
3838
"""
3939
:cvar YES: This is an inner enum member documentation. Lorem ipsum
4040
dolor sit amet, consectetur adipiscing elit. Etiam mollis.
41-
:cvar NO: Lorem ipsum dolor
41+
:cvar NO: Lorem ipsum dolor My\\Ipsum
4242
"""
4343
YES = "Yes"
4444
NO = "No"
@@ -51,15 +51,16 @@ class RootD(Enum):
5151

5252
@dataclass
5353
class Root:
54-
"""This is the root type documentation. '''Lorem ipsum''' dolor sit amet,
55-
consectetur adipiscing elit. Morbi dapibus.
54+
"""This is the root type documentation.
5655
57-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec
58-
imperdiet lacus sed sagittis scelerisque. Ut sodales metus: "sit",
59-
"amet", "lectus"
56+
'''Lorem ipsum''' dolor sit amet, consectetur adipiscing elit. Morbi
57+
dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
58+
Donec imperdiet lacus sed sagittis scelerisque. Ut sodales metus:
59+
"sit", "amet", "lectus" My\\Ipsum
6060
6161
:ivar a: This is an inner type '''field''' documentation. Lorem
6262
ipsum dolor sit amet, consectetur adipiscing elit. Aliquam nec.
63+
My\\Ipsum
6364
:ivar b: This is a second root type field documentation.
6465
:ivar c:
6566
:ivar d:
@@ -107,7 +108,7 @@ class A:
107108
108109
:ivar sub_a: This is an inner type '''field''' documentation.
109110
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
110-
Vivamus efficitur.
111+
Vivamus efficitur. My\\Ipsum
111112
"""
112113
sub_a: Optional[str] = field(
113114
default=None,

tests/fixtures/docstrings/schema.xsd

+8-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
This is the root type documentation. """Lorem ipsum""" dolor sit amet, consectetur adipiscing elit. Morbi dapibus.
88

99
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec imperdiet lacus sed sagittis scelerisque. Ut sodales metus: "sit", "amet", "lectus"
10+
My\Ipsum
11+
1012
</xsd:documentation>
1113
</xsd:annotation>
1214
<xsd:complexType>
@@ -16,6 +18,7 @@
1618
<xsd:documentation>
1719
This is an inner type """field""" documentation.
1820
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam nec.
21+
My\Ipsum
1922
</xsd:documentation>
2023
</xsd:annotation>
2124
<xsd:complexType>
@@ -30,6 +33,7 @@
3033
<xsd:documentation>
3134
This is an inner type '''field''' documentation.
3235
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus efficitur.
36+
My\Ipsum
3337
</xsd:documentation>
3438
</xsd:annotation>
3539
</xsd:element>
@@ -55,6 +59,7 @@
5559
<xsd:annotation>
5660
<xsd:documentation>
5761
Lorem ipsum dolor
62+
My\Ipsum
5863
</xsd:documentation>
5964
</xsd:annotation>
6065
</xsd:enumeration>
@@ -75,14 +80,14 @@
7580
</xsd:element>
7681
<xsd:element name="DoubleQuotesSummary">
7782
<xsd:annotation>
78-
<xsd:documentation>Dont trip on quotes: "A", "B", "C", "D"</xsd:documentation>
83+
<xsd:documentation>Dont trip on quotes: "A", "B", "C", "D" My\Ipsum</xsd:documentation>
7984
</xsd:annotation>
8085
</xsd:element>
8186
<xsd:element name="DoubleQuotesDescription">
8287
<xsd:annotation>
8388
<xsd:documentation>Let's trip.
8489

85-
Dont trip on quotes: "A", "B", "C", "D"</xsd:documentation>
90+
Dont trip on quotes: "A", "B", "C", "D" My\Ipsum</xsd:documentation>
8691
</xsd:annotation>
8792
</xsd:element>
8893
<xsd:simpleType name="RootEnum">
@@ -97,7 +102,7 @@
97102
<xsd:enumeration value="B">
98103
<xsd:annotation>
99104
<xsd:documentation>
100-
Lorem ipsum dolor """sit""" amet, consectetur adipiscing elit. Morbi dapibus.
105+
Lorem ipsum dolor """sit""" amet, consectetur adipiscing elit. Morbi dapibus. My\Ipsum
101106
</xsd:documentation>
102107
</xsd:annotation>
103108
</xsd:enumeration>

0 commit comments

Comments
 (0)