Switch to side-by-side view

--- a/Allura/allura/tests/test_mail_util.py
+++ b/Allura/allura/tests/test_mail_util.py
@@ -2,6 +2,7 @@
 import unittest
 from email.MIMEMultipart import MIMEMultipart
 from email.MIMEText import MIMEText
+from email import header
 
 from nose.tools import raises, assert_equal
 from ming.orm import ThreadLocalORMSession
@@ -9,7 +10,7 @@
 from alluratest.controller import setup_basic_test, setup_global_objects
 from allura.lib.utils import ConfigProxy
 
-from allura.lib.mail_util import parse_address, parse_message
+from allura.lib.mail_util import parse_address, parse_message, Header
 from allura.lib.exceptions import AddressException
 from allura.tests import decorators as td
 
@@ -88,3 +89,22 @@
             if part['payload'] is None: continue
             assert isinstance(part['payload'], unicode)
 
+
+class TestHeader(object):
+
+    @raises(TypeError)
+    def test_bytestring(self):
+        our_header = Header('[asdf2:wiki] Discussion for Home page')
+        assert_equal(str(our_header), '[asdf2:wiki] Discussion for Home page')
+
+    def test_ascii(self):
+        our_header = Header(u'[asdf2:wiki] Discussion for Home page')
+        assert_equal(str(our_header), '[asdf2:wiki] Discussion for Home page')
+
+    def test_utf8(self):
+        our_header = Header(u'����������������')
+        assert_equal(str(our_header), '=?utf-8?b?0YLQtdGB0L3Rj9GC0YHRjw==?=')
+
+    def test_name_addr(self):
+        our_header = Header(u'"����������������"', u'<dave@b.com>')
+        assert_equal(str(our_header), '=?utf-8?b?ItGC0LXRgdC90Y/RgtGB0Y8i?= <dave@b.com>')