]>
git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_old_mailbox.py
1 # This set of tests exercises the backward-compatibility class
2 # in mailbox.py (the ones without write support).
8 from test
import test_support
10 # cleanup earlier tests
12 os
.unlink(test_support
.TESTFN
)
16 FROM_
= "From some.body@dummy.domain Sat Jul 24 13:43:35 2004\n"
18 From: some.body@dummy.domain
22 This is a dummy message.
25 class MaildirTestCase(unittest
.TestCase
):
28 # create a new maildir mailbox to work with:
29 self
._dir
= test_support
.TESTFN
31 os
.mkdir(os
.path
.join(self
._dir
, "cur"))
32 os
.mkdir(os
.path
.join(self
._dir
, "tmp"))
33 os
.mkdir(os
.path
.join(self
._dir
, "new"))
38 map(os
.unlink
, self
._msgfiles
)
39 os
.rmdir(os
.path
.join(self
._dir
, "cur"))
40 os
.rmdir(os
.path
.join(self
._dir
, "tmp"))
41 os
.rmdir(os
.path
.join(self
._dir
, "new"))
44 def createMessage(self
, dir, mbox
=False):
45 t
= int(time
.time() % 1000000)
48 filename
= os
.extsep
.join((str(t
), str(pid
), "myhostname", "mydomain"))
49 tmpname
= os
.path
.join(self
._dir
, "tmp", filename
)
50 newname
= os
.path
.join(self
._dir
, dir, filename
)
51 with
open(tmpname
, "w") as fp
:
52 self
._msgfiles
.append(tmpname
)
55 fp
.write(DUMMY_MESSAGE
)
56 if hasattr(os
, "link"):
57 os
.link(tmpname
, newname
)
59 with
open(newname
, "w") as fp
:
60 fp
.write(DUMMY_MESSAGE
)
61 self
._msgfiles
.append(newname
)
64 def test_empty_maildir(self
):
65 """Test an empty maildir mailbox"""
66 # Test for regression on bug #117490:
67 self
.mbox
= mailbox
.Maildir(test_support
.TESTFN
)
68 self
.assertTrue(len(self
.mbox
) == 0)
69 self
.assertTrue(self
.mbox
.next() is None)
70 self
.assertTrue(self
.mbox
.next() is None)
72 def test_nonempty_maildir_cur(self
):
73 self
.createMessage("cur")
74 self
.mbox
= mailbox
.Maildir(test_support
.TESTFN
)
75 self
.assertTrue(len(self
.mbox
) == 1)
76 self
.assertTrue(self
.mbox
.next() is not None)
77 self
.assertTrue(self
.mbox
.next() is None)
78 self
.assertTrue(self
.mbox
.next() is None)
80 def test_nonempty_maildir_new(self
):
81 self
.createMessage("new")
82 self
.mbox
= mailbox
.Maildir(test_support
.TESTFN
)
83 self
.assertTrue(len(self
.mbox
) == 1)
84 self
.assertTrue(self
.mbox
.next() is not None)
85 self
.assertTrue(self
.mbox
.next() is None)
86 self
.assertTrue(self
.mbox
.next() is None)
88 def test_nonempty_maildir_both(self
):
89 self
.createMessage("cur")
90 self
.createMessage("new")
91 self
.mbox
= mailbox
.Maildir(test_support
.TESTFN
)
92 self
.assertTrue(len(self
.mbox
) == 2)
93 self
.assertTrue(self
.mbox
.next() is not None)
94 self
.assertTrue(self
.mbox
.next() is not None)
95 self
.assertTrue(self
.mbox
.next() is None)
96 self
.assertTrue(self
.mbox
.next() is None)
98 def test_unix_mbox(self
):
101 fname
= self
.createMessage("cur", True)
103 with
open(fname
) as f
:
104 for msg
in mailbox
.PortableUnixMailbox(f
,
105 email
.parser
.Parser().parse
):
107 self
.assertEqual(msg
["subject"], "Simple Test")
108 self
.assertEqual(len(str(msg
)), len(FROM_
)+len(DUMMY_MESSAGE
))
109 self
.assertEqual(n
, 1)
111 class MboxTestCase(unittest
.TestCase
):
113 # create a new maildir mailbox to work with:
114 self
._path
= test_support
.TESTFN
117 os
.unlink(self
._path
)
119 def test_from_regex (self
):
120 # Testing new regex from bug #1633678
121 with
open(self
._path
, 'w') as f
:
122 f
.write("""From fred@example.com Mon May 31 13:24:50 2004 +0200
126 From fred@example.com Mon May 31 13:24:50 2004 -0200
130 From fred@example.com Mon May 31 13:24:50 2004
134 From fred@example.com Mon May 31 13:24:50 2004
139 with
open(self
._path
, 'r') as f
:
140 box
= mailbox
.UnixMailbox(f
)
141 self
.assertTrue(len(list(iter(box
))) == 4)
144 # XXX We still need more tests!
148 test_support
.run_unittest(MaildirTestCase
, MboxTestCase
)
151 if __name__
== "__main__":