~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_status.py

  • Committer: John Arbash Meinel
  • Date: 2006-01-07 15:03:49 UTC
  • mto: (1685.1.1 bzr-encoding)
  • mto: This revision was merged to the branch mainline in revision 1752.
  • Revision ID: john@arbash-meinel.com-20060107150349-7ae8ca5801cba1c9
cleanup of Alexander's patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
"""\
19
19
Black-box tests for encoding of bzr status.
20
20
 
21
 
Status command usually prints their output (possible unicode) to sys.stdout.
22
 
When status output redirected to file or to pipe or encoding of sys.stdout
23
 
does not match needed encoding to show non-ascii filenames then status
24
 
fails because of UnicodeEncode error:
 
21
Status command usually prints output (possible unicode) to sys.stdout.
 
22
When status output is redirected to a file or pipe, or the encoding of sys.stdout
 
23
is not able to encode non-ascii filenames then status
 
24
used to fail because of UnicodeEncode error:
25
25
bzr: ERROR: exceptions.UnicodeEncodeError: 'ascii' codec can't encode characters: ordinal not in range(128)
26
26
 
27
 
In case when sys.stdout.encoding is None or ascii
28
 
bzr should use bzrlib.user_encoding for print output.
29
 
 
30
 
In case when sys.stdout.encoding doesn't match of filename encoding
31
 
bzr should use `replace` error handling scheme for unicode.encode() method
 
27
In case when sys.stdout.encoding is None
 
28
bzr should use bzrlib.user_encoding for output.
 
29
bzr should also use `replace` error handling scheme, to allow
 
30
status to run even if the exact filenames cannot be displayed.
32
31
"""
33
32
 
34
33
from cStringIO import StringIO
70
69
        sys.stdout = StringIO()
71
70
        bzrlib.user_encoding = 'ascii'
72
71
        working_tree = self.make_uncommitted_tree()
73
 
        stdout, stderr = self.run_bzr_captured(["--no-plugins", "status"])
 
72
        stdout, stderr = self.run_bzr("status")
74
73
 
75
74
        self.assertEquals(stdout, """\
76
75
added:
81
80
        sys.stdout = StringIO()
82
81
        bzrlib.user_encoding = 'latin-1'
83
82
        working_tree = self.make_uncommitted_tree()
84
 
        stdout, stderr = self.run_bzr_captured(["--no-plugins", "status"])
 
83
        stdout, stderr = self.run_bzr('status')
85
84
 
86
85
        self.assertEquals(stdout, u"""\
87
86
added:
88
87
  hell\u00d8
89
88
""".encode('latin-1'))
 
89