示例#1
0
 def test_non_bmp3(self):
     """non-BMP characters 3"""
     unencoded = "".join(map(chr, range(256)))
     encoded = (
         "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F"
         "%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F"
         "%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F"
         "0123456789%3A%3B%3C%3D%3E%3F%40"
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60"
         "abcdefghijklmnopqrstuvwxyz%7B%7C%7D~"
         "%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8C%8D%8E%8F"
         "%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F"
         "%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF"
         "%B0%B1%B2%B3%B4%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF"
         "%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF"
         "%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF"
         "%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF"
         "%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF"
     )
     for part in (1, 2, 3, 15):
         enc_name = "iso-8859-%d" % part
         try:
             codecs.lookup(enc_name)
         except LookupError:
             warnings.warn("Not supported on this platform")
             continue
         self.assertEqual(encoded, iri.percent_encode(unencoded, encoding=enc_name), enc_name)
         self.assertEqual(unencoded, iri.percent_decode(encoded, encoding=enc_name), enc_name)
示例#2
0
 def test_percent_encode_template(self, count=count, unencoded=unencoded, encoded=encoded):
     if len(unencoded) > 10:
         test_title = unencoded[:11] + "..."
     else:
         test_title = unencoded
     self.assertEqual(encoded, iri.percent_encode(unencoded))
     self.assertEqual(unencoded, iri.percent_decode(encoded))
示例#3
0
 def test_non_bmp2(self):
     '''non-BMP characters: u"\ud800\udc00\udbff\udffd"'''
     unencoded_in = u"\ud800\udc00\udbff\udffd"
     encoded = u"%F0%90%80%80%F4%8F%BF%BD"
     unencoded_out = u"\U00010000\U0010FFFD"
     self.assertEqual(encoded, iri.percent_encode(unencoded_in), "u'\ud800\udc00\udbff\udffd'")
     self.assertEqual(unencoded_out, iri.percent_decode(encoded), "u'\ud800\udc00\udbff\udffd'")
示例#4
0
文件: test_iri.py 项目: mredar/amara
 def test_non_bmp3(self):
     '''non-BMP characters 3'''
     unencoded = ''.join(map(chr, range(256)))
     encoded = '%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F' \
               '%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F' \
               '%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F' \
               '0123456789%3A%3B%3C%3D%3E%3F%40' \
               'ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60' \
               'abcdefghijklmnopqrstuvwxyz%7B%7C%7D~' \
               '%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8C%8D%8E%8F' \
               '%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F' \
               '%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF' \
               '%B0%B1%B2%B3%B4%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF' \
               '%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF' \
               '%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF' \
               '%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF' \
               '%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF'
     for part in (1, 2, 3, 15):
         enc_name = 'iso-8859-%d' % part
         try:
             codecs.lookup(enc_name)
         except LookupError:
             warnings.warn('Not supported on this platform')
             continue
         self.assertEqual(encoded,
                          iri.percent_encode(unencoded, encoding=enc_name),
                          enc_name)
         self.assertEqual(unencoded,
                          iri.percent_decode(encoded, encoding=enc_name),
                          enc_name)
示例#5
0
文件: test_iri.py 项目: mredar/amara
 def test_non_bmp1(self):
     '''non-BMP characters: u""\U00010000\U0010FFFD""'''
     unencoded = u'\U00010000\U0010FFFD'
     encoded = u'%F0%90%80%80%F4%8F%BF%BD'
     self.assertEqual(encoded, iri.percent_encode(unencoded),
                      "u'\U00010000\U0010FFFD'")
     self.assertEqual(unencoded, iri.percent_decode(encoded),
                      "u'\U00010000\U0010FFFD'")
示例#6
0
文件: test_iri.py 项目: mredar/amara
 def test_non_bmp2(self):
     '''non-BMP characters: u"\ud800\udc00\udbff\udffd"'''
     unencoded_in = u'\ud800\udc00\udbff\udffd'
     encoded = u'%F0%90%80%80%F4%8F%BF%BD'
     unencoded_out = u'\U00010000\U0010FFFD'
     self.assertEqual(encoded, iri.percent_encode(unencoded_in),
                      "u'\ud800\udc00\udbff\udffd'")
     self.assertEqual(unencoded_out, iri.percent_decode(encoded),
                      "u'\ud800\udc00\udbff\udffd'")
示例#7
0
文件: test_iri.py 项目: mredar/amara
 def test_percent_encode_template(self,
                                  count=count,
                                  unencoded=unencoded,
                                  encoded=encoded):
     if len(unencoded) > 10:
         test_title = unencoded[:11] + '...'
     else:
         test_title = unencoded
     self.assertEqual(encoded, iri.percent_encode(unencoded))
     self.assertEqual(unencoded, iri.percent_decode(encoded))
示例#8
0
 def test_non_bmp1(self):
     '''non-BMP characters: u""\U00010000\U0010FFFD""'''
     unencoded = u"\U00010000\U0010FFFD"
     encoded = u"%F0%90%80%80%F4%8F%BF%BD"
     self.assertEqual(encoded, iri.percent_encode(unencoded), "u'\U00010000\U0010FFFD'")
     self.assertEqual(unencoded, iri.percent_decode(encoded), "u'\U00010000\U0010FFFD'")