def test_slice(self): e = self.assertEqual ne = self.assertNotEqual # from utf8 rawstring # ------------------- testee = 'aiuえお♥' e('aiu', unicodesupport.slice(testee, 0, 3)) e('えお', unicodesupport.slice(testee, 3, 5)) e(testee, unicodesupport.slice(testee)) e('uえお♥', unicodesupport.slice(testee, 2)) e('aiuえ', unicodesupport.slice(testee, None, 4)) e('iuえお', unicodesupport.slice(testee, 1, -1)) # from sjis rawstring # ------------------- testee = unicodesupport._a_to_b('aiuえおか', 'utf8', 'sjis') e('aiu', unicodesupport.slice(testee, 0, 3)) e('えお', unicodesupport.slice(testee, 3, 5)) ne(testee, unicodesupport.slice(testee)) e('aiuえおか', unicodesupport.slice(testee)) e('uえおか', unicodesupport.slice(testee, 2)) e('aiuえ', unicodesupport.slice(testee, None, 4)) e('iuえお', unicodesupport.slice(testee, 1, -1))
def test_sjis_file_to_utf8_file(self): testee_filename = UnicodeSupportTest.PATHMAP['sjis2utf8'] sjis_str = unicodesupport._a_to_b(rawstring='012345あいうえお阿修羅', src_encoding_name='utf8', dst_encoding_name='sjis') print 'creating "%s" ...' % testee_filename, if os.path.exists(testee_filename): os.remove(testee_filename) with open(testee_filename, "w") as f: f.write(sjis_str) f.close() print 'fin.' # sjis で書いたので sjis として読み込めるはず actual = self.read(testee_filename) self.assertTrue(unicodesupport.is_sjis_and_not_ascii(actual)) # utf8 に変換したので, utf8 として読み込めるはず unicodesupport.sjis_file_to_utf8_file(testee_filename) actual = self.read(testee_filename) self.assertFalse(unicodesupport.is_sjis_and_not_ascii(actual)) self.assertTrue(unicodesupport._is_hoge_encoding(actual, 'utf8'))
def to_sjis_raw(rawstring): return unicodesupport._a_to_b(rawstring, 'utf8', 'sjis')