~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):
2665.4.1 by Aaron Bentley
teach run_bzr_subprocess to accept either a list of strings or a string
44
        out, err = self.run_bzr_subprocess(
2768.1.8 by Ian Clatworthy
Get test suite fully working again
45
            '--no-aliases --no-plugins log -q --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
2671.5.7 by Lukáš Lalinsky
Rename get_author to get_apparent_author, revert the long log back to displaying the committer.
52
committer: ???? Meinel <juju@info.com>
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
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):
2665.4.1 by Aaron Bentley
teach run_bzr_subprocess to accept either a list of strings or a string
60
        out, err = self.run_bzr_subprocess(
2768.1.8 by Ian Clatworthy
Get test suite fully working again
61
            '--no-aliases --no-plugins log -q --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
3512.3.1 by Martin von Gagern
Hand-selected minimalistic set of changes from my setlocale branch.
68
  bzr could not set the application locale.
69
  Although this should be no problem for bzr itself,
70
  it might cause problems with some plugins.
71
  To investigate the issue, look at the output
72
  of the locale(1p) tool available on POSIX systems.
73
bzr: warning: unsupported locale setting
2001.2.1 by Jelmer Vernooij
Fix typo in encoding warning.
74
  Could not determine what text encoding to use.
1955.2.3 by John Arbash Meinel
Change error message text
75
  This error usually means your Python interpreter
76
  doesn't support the locale set by $LANG (BOGUS)
77
  Continuing with ascii encoding.
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
78
""", err)
79
        self.assertEqualDiff("""\
80
------------------------------------------------------------
81
revno: 1
2671.5.7 by Lukáš Lalinsky
Rename get_author to get_apparent_author, revert the long log back to displaying the committer.
82
committer: ???? Meinel <juju@info.com>
1955.2.1 by John Arbash Meinel
Fix bug #35392: Don't die if LANG isn't recognized by python
83
branch nick: tree
84
timestamp: Thu 2006-08-24 20:28:17 +0000
85
message:
86
  Unicode ? commit
87
""", out)