#!/usr/bin/env python # -*- coding: ascii -*- ''' $Id: test_EmailAddress.py,v 1.1 2003/12/23 03:46:39 zen Exp $ ''' __rcs_id__ = '$Id: test_EmailAddress.py,v 1.1 2003/12/23 03:46:39 zen Exp $' __version__ = '$Revision: 1.1 $'[11:-2] import unittest, sys, os sys.path.append(os.pardir) from EmailAddress import EmailAddress class Test(unittest.TestCase): def test_Ascii(self): e = EmailAddress('asciirulez@internet.us', 'Joe Sixpack') self.failUnlessEqual( str(e), 'Joe Sixpack ' ) self.failUnlessEqual( unicode(e), u'Joe Sixpack ' ) self.failUnlessEqual(e.name, 'Joe Sixpack') self.failUnlessEqual(e.addr, 'asciirulez@internet.us') def test_Ascii_2(self): e = EmailAddress(u'asciirulez@internet.us', u'Joe Sixpack') self.failUnlessEqual( str(e), 'Joe Sixpack ' ) self.failUnlessEqual( unicode(e), u'Joe Sixpack ' ) self.failUnlessEqual(e.name, 'Joe Sixpack') self.failUnlessEqual(e.addr, 'asciirulez@internet.us') def test_AsciiNoName(self): e = EmailAddress('asciirulez@internet.us') self.failUnlessEqual(e, 'asciirulez@internet.us') self.failUnlessEqual(str(e), 'asciirulez@internet.us') self.failUnlessEqual(unicode(e), 'asciirulez@internet.us') self.failUnlessEqual(e.name, '') self.failUnlessEqual(e.addr, 'asciirulez@internet.us') def test_Unicode(self): e = EmailAddress(u'renee@ol\u00e9.de', u'Rene\u00e9 Acut\u00e9') self.failUnlessEqual( str(e), '=?iso-8859-1?q?Rene=E9_Acut=E9?= ' ) self.failUnlessEqual( unicode(e), u'Rene\u00e9 Acut\u00e9 ' ) self.failUnlessEqual(e.name, u'Rene\u00e9 Acut\u00e9') self.failUnlessEqual(e.addr, u'renee@ol\u00e9.de') def test_UnicodeNoName(self): e = EmailAddress(u'renee@ol\u00e9.de') self.failUnlessEqual(e, u'renee@ol\u00e9.de') self.failUnlessEqual(str(e), 'renee@xn--ol-cja.de') self.failUnlessEqual(unicode(e), u'renee@ol\u00e9.de') self.failUnlessEqual(e.name, '') self.failUnlessEqual(e.addr, u'renee@ol\u00e9.de') def test_AsciiParse(self): e = EmailAddress('Joe Sixpack ') self.failUnlessEqual(e.name, 'Joe Sixpack') self.failUnlessEqual(e.addr, 'asciirulez@internet.us') def test_UnicodeParse(self): e = EmailAddress('Rene\u00e9 ') self.failUnlessEqual(e.name, 'Rene\u00e9') self.failUnlessEqual(e.addr, 'renee@ol\u00e9.de') def test_IdnaDecode(self): e = EmailAddress('renee@xn--ol-cja.de', u'Rene\u00e9') self.failUnlessEqual(e.name, u'Rene\u00e9') self.failUnlessEqual(e.addr, u'renee@ol\u00e9.de') def test_HeaderDecode(self): #e = EmailAddress(u'renee@ol\u00e9.de', '=?utf8?b?UmVuZcOp?=') e = EmailAddress(u'renee@ol\u00e9.de', '=?iso-8859-1?q?Rene=E9?=') self.failUnlessEqual(e.name, u'Rene\u00e9') self.failUnlessEqual(e.addr, u'renee@ol\u00e9.de') def test_cmp(self): # Compares both Unicode and ASCII representations as equal e = EmailAddress(u'renee@ol\u00e9.de', u'Rene\u00e9 Acut\u00e9') self.failUnless(e == str(e)) self.failUnless(e == unicode(e)) # And case insensitive too ue = EmailAddress(e.upper()) self.failUnless(e == str(ue)) self.failUnless(e == unicode(ue)) if __name__ == '__main__': unittest.main() # vim: set filetype=python ts=4 sw=4 et si