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