~bzr-pqm/bzr/bzr.dev

2052.3.2 by John Arbash Meinel
Change Copyright .. by Canonical to Copyright ... Canonical
1
# Copyright (C) 2006 Canonical Ltd
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
17
"""Test that bzr handles locales in a reasonable way"""
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
18
19
import os
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
20
import sys
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
21
1982.1.3 by Alexander Belchenko
fix forgotten import TestSkipped
22
from bzrlib.tests import TestCaseWithTransport, TestSkipped
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
23
24
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
25
class TestLocale(TestCaseWithTransport):
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
26
27
    def setUp(self):
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
28
        super(TestLocale, self).setUp()
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
29
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
30
        if sys.platform in ('win32',):
31
            raise TestSkipped('Windows does not respond to the LANG'
32
                              ' env variable')
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
33
34
        tree = self.make_branch_and_tree('tree')
35
        self.build_tree(['tree/a'])
36
        tree.add('a')
37
        tree.commit(u'Unicode \xb5 commit', rev_id='r1',
38
                    committer=u'\u062c\u0648\u062c\u0648'
39
                              u' Meinel <juju@info.com>',
40
                    timestamp=1156451297.96, timezone=0)
41
        self.tree = tree
42
43
    def test_log_C(self):
44
        out, err = self.run_bzr_subprocess('--no-aliases', '--no-plugins',
1963.1.2 by John Arbash Meinel
Cleanups suggested by Martin, add test that env_changes can remove an env variable
45
               '-q', 'log', '--log-format=long', 'tree',
1955.2.8 by John Arbash Meinel
Update locale tests to remove more env vars
46
               env_changes={'LANG':'C', 'BZR_PROGRESS_BAR':'none',
47
                            'LC_ALL':None, 'LC_CTYPE':None, 'LANGUAGE':None})
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
48
        self.assertEqual('', err)
49
        self.assertEqualDiff("""\
50
------------------------------------------------------------
51
revno: 1
52
committer: ???? Meinel <juju@info.com>
53
branch nick: tree
54
timestamp: Thu 2006-08-24 20:28:17 +0000
55
message:
56
  Unicode ? commit
57
""", out)
58
59
    def test_log_BOGUS(self):
60
        out, err = self.run_bzr_subprocess('--no-aliases', '--no-plugins',
1963.1.2 by John Arbash Meinel
Cleanups suggested by Martin, add test that env_changes can remove an env variable
61
               '-q', 'log', '--log-format=long', 'tree',
1955.2.8 by John Arbash Meinel
Update locale tests to remove more env vars
62
               env_changes={'LANG':'BOGUS', 'BZR_PROGRESS_BAR':'none',
63
                            'LC_ALL':None, 'LC_CTYPE':None, 'LANGUAGE':None})
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
64
        # XXX: This depends on the exact formatting of a locale.Error
65
        # as the first part of the string. It may be a little tempermental
66
        self.assertEqualDiff("""\
1955.2.3 by John Arbash Meinel
Change error message text
67
bzr: warning: unsupported locale setting
2001.2.1 by Jelmer Vernooij
Fix typo in encoding warning.
68
  Could not determine what text encoding to use.
1955.2.3 by John Arbash Meinel
Change error message text
69
  This error usually means your Python interpreter
70
  doesn't support the locale set by $LANG (BOGUS)
71
  Continuing with ascii encoding.
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
72
""", err)
73
        self.assertEqualDiff("""\
74
------------------------------------------------------------
75
revno: 1
76
committer: ???? Meinel <juju@info.com>
77
branch nick: tree
78
timestamp: Thu 2006-08-24 20:28:17 +0000
79
message:
80
  Unicode ? commit
81
""", out)