| 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 | 
|---|