mirror of
https://github.com/python/cpython.git
synced 2026-05-06 20:51:17 -04:00
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
import xml
|
|
import unittest
|
|
|
|
|
|
class TestUtils(unittest.TestCase):
|
|
|
|
def test_is_valid_name(self):
|
|
is_valid_name = xml.is_valid_name
|
|
self.assertFalse(is_valid_name(''))
|
|
self.assertTrue(is_valid_name('name'))
|
|
self.assertTrue(is_valid_name('NAME'))
|
|
self.assertTrue(is_valid_name('name0:-._·'))
|
|
self.assertTrue(is_valid_name('_'))
|
|
self.assertTrue(is_valid_name(':'))
|
|
self.assertTrue(is_valid_name('Ñàḿĕ'))
|
|
self.assertTrue(is_valid_name('\U000EFFFF'))
|
|
self.assertFalse(is_valid_name('0'))
|
|
self.assertFalse(is_valid_name('-'))
|
|
self.assertFalse(is_valid_name('.'))
|
|
self.assertFalse(is_valid_name('·'))
|
|
self.assertFalse(is_valid_name('na me'))
|
|
for c in '<>/!?=\x00\x01\x7f\ud800\udfff\ufffe\uffff\U000F0000':
|
|
self.assertFalse(is_valid_name('name' + c))
|
|
|
|
def test_is_valid_text(self):
|
|
is_valid_text = xml.is_valid_text
|
|
self.assertTrue(is_valid_text(''))
|
|
self.assertTrue(is_valid_text('!0Aa_~ \r\n\t\x85\xa0'))
|
|
self.assertTrue(is_valid_text('\ud7ff\ue000\ufffd\U00010000\U0010ffff'))
|
|
self.assertFalse(is_valid_text('\x00'))
|
|
self.assertFalse(is_valid_text('\x01'))
|
|
self.assertFalse(is_valid_text('\x1f'))
|
|
self.assertTrue(is_valid_text('\x7f'))
|
|
self.assertTrue(is_valid_text('\x80'))
|
|
self.assertTrue(is_valid_text('\x9f'))
|
|
self.assertFalse(is_valid_text('\ud800'))
|
|
self.assertFalse(is_valid_text('\udfff'))
|
|
self.assertFalse(is_valid_text('\ufffe'))
|
|
self.assertFalse(is_valid_text('\uffff'))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|