~launchpad-pqm/launchpad/devel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
We have a custom IUserPreferredCharsets which always returns
utf-8 as the preferred charset.

    >>> from zope.publisher.browser import TestRequest
    >>> from lp.services.webapp import Utf8PreferredCharsets
    >>> user_preferred = Utf8PreferredCharsets(TestRequest())

    >>> from zope.i18n.interfaces import IUserPreferredCharsets
    >>> from zope.interface.verify import verifyObject
    >>> verifyObject(IUserPreferredCharsets, user_preferred)
    True

    >>> user_preferred.getPreferredCharsets()
    ['utf-8']

Even if the user specifies that he doesn't want utf-8:

    >>> no_utf8_request = TestRequest(
    ...     environ={'HTTP_ACCEPT_CHARSET': 'iso8859-1'})
    >>> user_preferred = Utf8PreferredCharsets(no_utf8_request)
    >>> user_preferred.getPreferredCharsets()
    ['utf-8']