Skip to content

Commit e814cfa

Browse files
Move to the toplevel xml module.
1 parent 6ac604e commit e814cfa

4 files changed

Lines changed: 30 additions & 5 deletions

File tree

Doc/library/xml.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ This module also defines utility functions.
5757
..versionadded:: next
5858

5959

60-
.. versionadded:: 3.2
61-
6260
.. _xml-security:
6361
.. _xml-vulnerabilities:
6462

Lib/test/test_sax.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
except SAXReaderNotAvailable:
1010
# don't try to test this module if we cannot create a parser
1111
raise unittest.SkipTest("no XML parsers available")
12-
from xml.sax.saxutils import (XMLGenerator, escape, unescape, quoteattr,
13-
XMLFilterBase, prepare_input_source)
12+
from xml.sax.saxutils import XMLGenerator, escape, unescape, quoteattr, \
13+
XMLFilterBase, prepare_input_source
1414
from xml.sax.expatreader import create_parser
1515
from xml.sax.handler import (feature_namespaces, feature_external_ges,
1616
LexicalHandler)

Lib/test/test_xml.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import xml
2+
import unittest
3+
4+
5+
class TestUtils(unittest.TestCase):
6+
7+
def test_is_valid_name(self):
8+
is_valid_name = xml.is_valid_name
9+
self.assertFalse(is_valid_name(''))
10+
self.assertTrue(is_valid_name('name'))
11+
self.assertTrue(is_valid_name('NAME'))
12+
self.assertTrue(is_valid_name('name0:-._·'))
13+
self.assertTrue(is_valid_name('_'))
14+
self.assertTrue(is_valid_name(':'))
15+
self.assertTrue(is_valid_name('Ñàḿĕ'))
16+
self.assertTrue(is_valid_name('\U000EFFFF'))
17+
self.assertFalse(is_valid_name('0'))
18+
self.assertFalse(is_valid_name('-'))
19+
self.assertFalse(is_valid_name('.'))
20+
self.assertFalse(is_valid_name('·'))
21+
self.assertFalse(is_valid_name('na me'))
22+
for c in '<>/!?=\x00\x01\x7f\ud800\udfff\ufffe\uffff\U000F0000':
23+
self.assertFalse(is_valid_name('name' + c))
24+
25+
26+
if __name__ == '__main__':
27+
unittest.main()
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Add the :func:`~xml.sax.saxutils.is_valid_name` function, which allows to check
1+
Add the :func:`xml.is_valid_name` function, which allows to check
22
whether a string can be used as an element or attribute name in XML.

0 commit comments

Comments
 (0)