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