~launchpad-pqm/launchpad/devel

3564.6.34 by Diogo Matsubara
review comments, new test added.
1
RequestPreferredLanguages.getPreferredLanguages() returns language objects
2
based on the Accept-language header. If we can't encode the language code
3
in ASCII we just skip them.
4
14600.2.2 by Curtis Hovey
Moved webapp to lp.services.
5
    >>> from lp.services.webapp.servers import LaunchpadTestRequest
11532.7.2 by Curtis Hovey
Move geoip to lp.services.
6
    >>> from lp.services.geoip.model import RequestPreferredLanguages
9125.1.2 by Danilo Šegan
Reindent some old tests (actually, parts of them) to 4 spaces.
7
8
    >>> langs = {'HTTP_ACCEPT_LANGUAGE': 'pt_BR, Espa\xf1ol'}
9678.4.41 by Guilherme Salgado
[r=barry] Change our tests that were using TestRequest to use LaunchpadTestRequest.
9
    >>> request = LaunchpadTestRequest(**langs)
10
    >>> [l.code
11
    ...  for l in RequestPreferredLanguages(request).getPreferredLanguages()]
9125.1.2 by Danilo Šegan
Reindent some old tests (actually, parts of them) to 4 spaces.
12
    [u'pt_BR']
11532.7.8 by Curtis Hovey
Ensure preferred launguages are unique.
13
9125.1.2 by Danilo Šegan
Reindent some old tests (actually, parts of them) to 4 spaces.
14
    >>> langs = {'HTTP_ACCEPT_LANGUAGE': u'pt_BR, Espa\xf1ol'}
9678.4.41 by Guilherme Salgado
[r=barry] Change our tests that were using TestRequest to use LaunchpadTestRequest.
15
    >>> request = LaunchpadTestRequest(**langs)
16
    >>> [l.code
17
    ...  for l in RequestPreferredLanguages(request).getPreferredLanguages()]
9125.1.2 by Danilo Šegan
Reindent some old tests (actually, parts of them) to 4 spaces.
18
    [u'pt_BR']
11532.7.8 by Curtis Hovey
Ensure preferred launguages are unique.
19
20
The getPreferredLanguages() method returns unique codes.
21
22
    >>> langs = {
23
    ...     'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.9,de-CH;q=0.8,de;q=0.6,'
24
    ...                             'en-GB;q=0.4,en-us;q=0.3,en;q=0.1'
25
    ...     }
26
    >>> request = LaunchpadTestRequest(**langs)
27
    >>> [l.code
28
    ...  for l in RequestPreferredLanguages(request).getPreferredLanguages()]
29
    [u'en', u'en_GB', u'de']