android13/external/fonttools/Tests/misc/testTools_test.py

80 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import fontTools.misc.testTools as testTools
import unittest
class TestToolsTest(unittest.TestCase):
def test_parseXML_str(self):
self.assertEqual(testTools.parseXML(
'<Foo n="1"/>'
'<Foo n="2">'
' some ünıcòðe text'
' <Bar color="red"/>'
' some more text'
'</Foo>'
'<Foo n="3"/>'), [
("Foo", {"n": "1"}, []),
("Foo", {"n": "2"}, [
" some ünıcòðe text ",
("Bar", {"color": "red"}, []),
" some more text",
]),
("Foo", {"n": "3"}, [])
])
def test_parseXML_bytes(self):
self.assertEqual(testTools.parseXML(
b'<Foo n="1"/>'
b'<Foo n="2">'
b' some \xc3\xbcn\xc4\xb1c\xc3\xb2\xc3\xb0e text'
b' <Bar color="red"/>'
b' some more text'
b'</Foo>'
b'<Foo n="3"/>'), [
("Foo", {"n": "1"}, []),
("Foo", {"n": "2"}, [
" some ünıcòðe text ",
("Bar", {"color": "red"}, []),
" some more text",
]),
("Foo", {"n": "3"}, [])
])
def test_parseXML_str_list(self):
self.assertEqual(testTools.parseXML(
['<Foo n="1"/>'
'<Foo n="2"/>']), [
("Foo", {"n": "1"}, []),
("Foo", {"n": "2"}, [])
])
def test_parseXML_bytes_list(self):
self.assertEqual(testTools.parseXML(
[b'<Foo n="1"/>'
b'<Foo n="2"/>']), [
("Foo", {"n": "1"}, []),
("Foo", {"n": "2"}, [])
])
def test_getXML(self):
def toXML(writer, ttFont):
writer.simpletag("simple")
writer.newline()
writer.begintag("tag", attr='value')
writer.newline()
writer.write("hello world")
writer.newline()
writer.endtag("tag")
writer.newline() # toXML always ends with a newline
self.assertEqual(testTools.getXML(toXML),
['<simple/>',
'<tag attr="value">',
' hello world',
'</tag>'])
if __name__ == "__main__":
import sys
sys.exit(unittest.main())