OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/python |
| 2 # coding=utf8 |
| 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. |
| 6 |
| 7 """Unit tests for fix_encoding.py.""" |
| 8 |
| 9 import os |
| 10 import sys |
| 11 import unittest |
| 12 |
| 13 ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
| 14 sys.path.insert(0, ROOT_DIR) |
| 15 |
| 16 import fix_encoding |
| 17 |
| 18 |
| 19 class FixEncodingTest(unittest.TestCase): |
| 20 # Nice mix of latin, hebrew, arabic and chinese. Doesn't mean anything. |
| 21 text = u'Héllô 偉大 سيد' |
| 22 |
| 23 def test_code_page(self): |
| 24 # Make sure printing garbage won't throw. |
| 25 print self.text.encode() + '\xff' |
| 26 print >> sys.stderr, self.text.encode() + '\xff' |
| 27 |
| 28 def test_utf8(self): |
| 29 # Make sure printing utf-8 works. |
| 30 print self.text.encode('utf-8') |
| 31 print >> sys.stderr, self.text.encode('utf-8') |
| 32 |
| 33 def test_unicode(self): |
| 34 # Make sure printing unicode works. |
| 35 print self.text |
| 36 print >> sys.stderr, self.text |
| 37 |
| 38 def test_default_encoding(self): |
| 39 self.assertEquals('utf-8', sys.getdefaultencoding()) |
| 40 |
| 41 def test_win_console(self): |
| 42 if sys.platform != 'win32': |
| 43 return |
| 44 # This should fail if redirected. Can be checked with: |
| 45 # python fix_encoding_test.py > a |
| 46 self.assertEquals( |
| 47 sys.stdout.__class__, fix_encoding.WinUnicodeConsoleOutput) |
| 48 self.assertEquals( |
| 49 sys.stderr.__class__, fix_encoding.WinUnicodeConsoleOutput) |
| 50 self.assertEquals(sys.stdout.encoding, sys.getdefaultencoding()) |
| 51 self.assertEquals(sys.stderr.encoding, sys.getdefaultencoding()) |
| 52 |
| 53 def test_multiple_calls(self): |
| 54 # Shouldn't do anything. |
| 55 self.assertEquals(False, fix_encoding.fix_encoding()) |
| 56 |
| 57 |
| 58 if __name__ == '__main__': |
| 59 assert fix_encoding.fix_encoding() |
| 60 unittest.main() |
OLD | NEW |