Skip to content

Commit

Permalink
Add tests for characters allowed in header field names and bodies as …
Browse files Browse the repository at this point in the history
…per RFC5322. (#48)
  • Loading branch information
mnako authored Aug 29, 2023
1 parent e8876bd commit 7e9763d
Show file tree
Hide file tree
Showing 138 changed files with 2,280 additions and 910 deletions.
548 changes: 548 additions & 0 deletions letters_test.go

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_mixed_gb18030_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: multIpARt/mixed; charset="gB18030"; BOUNDARY="MixedBoundaryString"
Content-Transfer-Encoding: base64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--MixedBoundaryString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: mULTIPArT/miXed; cHArSET="gB18030"; BOUNDArY="MixedBoundaryString"
Content-Transfer-Encoding: quOTED-PRINTABlE
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--MixedBoundaryString
Expand Down
6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_mixed_gbk_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: mulTIparT/mixED; CHARset="GBK"; BOUNDARy="MixedBoundaryString"
Content-Transfer-Encoding: BASe64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--MixedBoundaryString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: mULTIPART/MIXED; CHarSet="gbk"; BoUNDARY="MixedBoundaryString"
Content-Transfer-Encoding: QUOTeD-printable
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--MixedBoundaryString
Expand Down
6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_related_gb18030_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: MUltIparT/related; chaRSet="gb18030"; BOUNDARY="RelatedBoundaryString"
Content-Transfer-Encoding: BASE64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--RelatedBoundaryString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: multipaRT/RELATED; CHARSEt="gB18030"; bOUnDARY="RelatedBoundaryString"
Content-Transfer-Encoding: QUOTED-PRiNtaBlE
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--RelatedBoundaryString
Expand All @@ -39,60 +45,60 @@ Content-Type: MULTIPARt/alternative; boUnDARY="AlternativeBoundaryString"
Content-Type: Text/plaiN; chaRsET="GB18030"
Content-Transfer-Encoding: QUOTED-prInTABLE

=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3

--AlternativeBoundaryString
Content-Type: TEXT/ENriChed; charset="gb18030"
Content-Transfer-Encoding: quoted-prinTaBLE

<bold>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=
=B3=CA=AE=CA=A8=A1=A3</bold>
<italic>=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3</italic>
<fixed>=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3</fixed>
<underline>=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3</underlin=
e>
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
<bold>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=
=B3=CA=AE=CA=A8=A1=A3</bold>
<italic>=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3</italic>
<fixed>=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3</fixed>
<underline>=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3</underlin=
e>
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3

--AlternativeBoundaryString
Content-Type: TeXT/HTML; CHaRseT="gb18030"
Content-Transfer-Encoding: QUOTED-PRIntAble

<html>
<div dir=3D"ltr">
<p>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=
=CA=AE=CA=A8=A1=A3<br />
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3<br />
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3<br />
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3<br />
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3<br />
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3<br=
/>
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3<br />
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3</p>
</div>
<html>
<div dir=3D"ltr">
<p>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=
=CA=AE=CA=A8=A1=A3<br />
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3<br />
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3<br />
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3<br />
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3<br />
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3<br=
/>
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3<br />
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3</p>
</div>
</html>

--AlternativeBoundaryString--
Expand Down
6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_related_gbk_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: multiparT/RELATED; CHARSet="gbk"; boundaRy="RelatedBoundaryString"
Content-Transfer-Encoding: baSE64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--RelatedBoundaryString
Expand Down
90 changes: 48 additions & 42 deletions tests/test_chinese_multipart_related_gbk_over_quoted-printable.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Resent-Message-ID: <Message-Id-1@example.net>
Content-Type: multiParT/RELated; chaRseT="GbK"; BOUNDARY="RelatedBoundaryString"
Content-Transfer-Encoding: QUOTED-pRINTABLE
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--RelatedBoundaryString
Expand All @@ -39,60 +45,60 @@ Content-Type: MULTIPart/alternatIve; bOUNDARy="AlternativeBoundaryString"
Content-Type: text/plAIN; cHARSET="GBK"
Content-Transfer-Encoding: QUOTED-pRINTABLE

=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3

--AlternativeBoundaryString
Content-Type: TEXT/ENRICHed; CharsEt="GBK"
Content-Transfer-Encoding: QUOTEd-prinTabLE

<bold>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=
=B3=CA=AE=CA=A8=A1=A3</bold>
<italic>=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3</italic>
<fixed>=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3</fixed>
<underline>=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3</underlin=
e>
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
<bold>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=
=B3=CA=AE=CA=A8=A1=A3</bold>
<italic>=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3</italic>
<fixed>=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3</fixed>
<underline>=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3</underlin=
e>
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3

--AlternativeBoundaryString
Content-Type: tEXt/html; charset="gbK"
Content-Transfer-Encoding: QUoTed-pRiNTABLE

<html>
<div dir=3D"ltr">
<p>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=
=CA=AE=CA=A8=A1=A3<br />
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3<br />
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3<br />
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3<br />
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3<br />
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3<br=
/>
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3<br />
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3</p>
</div>
<html>
<div dir=3D"ltr">
<p>=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=
=CA=AE=CA=A8=A1=A3<br />
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3<br />
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3<br />
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3<br />
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3<br />
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3<br />
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3<br=
/>
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3<br />
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3</p>
</div>
</html>

--AlternativeBoundaryString--
Expand Down
6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_signed_gb18030_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ Content-Type: MulTIPART/SIGnED;
BOUNDARY=SignedBoundaryString
Content-Transfer-Encoding: BAsE64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--SignedBoundaryString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,30 @@ Content-Type: MULTIPART/sIgned;
bOundary=SignedBoundaryString
Content-Transfer-Encoding: quoted-PRIntable
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--SignedBoundaryString
Content-Type: text/PLAIN
Content-Transfer-Encoding: QUOTED-PRIntAble

=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=AF=CA=D2=CA=AB=CA=BF=CA=A9=CA=CF=A3=AC=CA=C8=CA=A8=A3=AC=CA=C4=CA=B3=CA=
=AE=CA=A8=A1=A3
=CA=CF=CA=B1=CA=B1=CA=CA=CA=D0=CA=D3=CA=A8=A1=A3
=CA=AE=CA=B1=A3=AC=CA=CA=CA=AE=CA=A8=CA=CA=CA=D0=A1=A3
=CA=C7=CA=B1=A3=AC=CA=CA=CA=A9=CA=CF=CA=CA=CA=D0=A1=A3
=CA=CF=CA=D3=CA=C7=CA=AE=CA=A8=A3=AC=CA=D1=CA=B8=CA=C6=A3=AC=CA=B9=CA=C7=CA=
=AE=CA=A8=CA=C5=CA=C0=A1=A3
=CA=CF=CA=B0=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=CA=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=AA=A3=AC=CA=CF=CA=B9=CA=CC=CA=C3=CA=AF=CA=D2=A1=A3
=CA=AF=CA=D2=CA=C3=A3=AC=CA=CF=CA=BC=CA=D4=CA=B3=CA=C7=CA=AE=CA=A8=A1=A3
=CA=B3=CA=B1=A3=AC=CA=BC=CA=B6=CA=C7=CA=AE=CA=A8=CA=AC=A3=AC=CA=B5=CA=AE=CA=
=AF=CA=A8=CA=AC=A1=A3
=CA=D4=CA=CD=CA=C7=CA=C2=A1=A3

--SignedBoundaryString
Expand Down
6 changes: 6 additions & 0 deletions tests/test_chinese_multipart_signed_gbk_over_base64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ Content-Type: mULTIPART/sIgned;
BOUndary=SignedBoundaryString
Content-Transfer-Encoding: base64
X-Clacks-Overhead: GNU Terry Pratchett
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~
X-Script/function/ !"#$%&'()*+,-./;<=>?@[\]^_`{|}~: TEST
VALUE 2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~


--SignedBoundaryString
Expand Down
Loading

0 comments on commit 7e9763d

Please sign in to comment.