Mercurial > p > roundup > code
annotate test/test_rfc2822.py @ 3882:46ef2a6fd79d
config option to limit nosy attachments based on size
reworking of patch [SF#772323] from Philipp Gortan
It tries to avoid reading the file contents just to
get the file size but that was too hard for metakit backends.
They don't inherit from blobfiles.FileStorage which makes
it more challenging. Really that backend should be reworked
to inherit from FileStorage.
I'm not sure I like the default being sys.maxint. Maybe have
0 == unlimited? But what if someone really wanted to set it to
0 to mean "don't attach anything"?
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Mon, 03 Sep 2007 17:14:09 +0000 |
| parents | 97f9fc0bc0ea |
| children |
| rev | line source |
|---|---|
|
3519
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 from roundup.rfc2822 import decode_header, encode_header |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 import unittest, time |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 class RFC2822TestCase(unittest.TestCase): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 def testDecode(self): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 src = 'Re: [it_issue3] '\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 '=?ISO-8859-1?Q?Ren=E9s_[resp=3Dg=2Cstatus=3D?= '\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 '=?ISO-8859-1?Q?feedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 result = 'Re: [it_issue3] Ren\xc3\xa9s [resp=g,status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 self.assertEqual(decode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 src = 'Re: [it_issue3]'\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 ' =?ISO-8859-1?Q?Ren=E9s_[resp=3Dg=2Cstatus=3D?=' \ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 ' =?ISO-8859-1?Q?feedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 result = 'Re: [it_issue3] Ren\xc3\xa9s [resp=g,status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 self.assertEqual(decode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 def testEncode(self): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 src = 'Re: [it_issue3] Ren\xc3\xa9s [status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 result = '=?utf-8?q?Re:_[it=5Fissue3]_Ren=C3=A9s_[status=3Dfeedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 self.assertEqual(encode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
3639
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
24 src = 'Was machen\xc3\xbc und Fragezeichen?' |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
25 result = '=?utf-8?q?Was_machen=C3=BC_und_Fragezeichen=3F?=' |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
26 self.assertEqual(encode_header(src), result) |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
27 |
|
3519
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 def test_suite(): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 suite = unittest.TestSuite() |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 suite.addTest(unittest.makeSuite(RFC2822TestCase)) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 return suite |
