12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- """
- Test win_chcp
- """
- from salt.exceptions import CodePageError
- from salt.utils import platform, win_chcp
- from tests.support.unit import TestCase, skipIf
- @skipIf(not platform.is_windows(), "Windows only tests!")
- class CHCPTest(TestCase):
- """
- Test case for salt.utils.win_chcp
- """
- @classmethod
- def setUpClass(cls):
- # Stores the initial code page for _reset_code_page()
- # Intentionally does not catch any exception, to find out which that would be.
- # That exception would then be added to cmdmod.py
- cls._chcp_code = win_chcp.get_codepage_id()
- @classmethod
- def tearDownClass(cls):
- cls._chcp_code = None
- def setUp(self):
- win_chcp.set_codepage_id(self._chcp_code)
- def tearDown(self):
- win_chcp.set_codepage_id(self._chcp_code)
- def test_get_and_set_code_page(self):
- for page in (20424, "20866", 437, 65001, "437"):
- self.assertEqual(win_chcp.set_codepage_id(page), int(page))
- self.assertEqual(win_chcp.get_codepage_id(), int(page))
- def test_bad_page_code(self):
- with win_chcp.chcp(437):
- self.assertEqual(win_chcp.get_codepage_id(), 437)
- bad_codes = ("0", "bad code", 1234, -34, "437 dogs", "(*&^(*^%&$%&")
- for page in bad_codes:
- self.assertEqual(win_chcp.set_codepage_id(page), -1)
- self.assertEqual(win_chcp.get_codepage_id(), 437)
- for page in bad_codes:
- self.assertRaises(CodePageError, win_chcp.set_codepage_id, page, True)
|