Added xml box write test with utf-8 content. #131
This commit is contained in:
parent
751e5d411b
commit
4c0da0dd85
1 changed files with 21 additions and 4 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Test suite specifically targeting JP2 box layout.
|
Test suite specifically targeting JP2 box layout.
|
||||||
"""
|
"""
|
||||||
|
|
@ -94,8 +95,6 @@ class TestXML(unittest.TestCase):
|
||||||
with self.assertRaises((IOError, OSError)):
|
with self.assertRaises((IOError, OSError)):
|
||||||
glymur.jp2box.XMLBox(filename=self.xmlfile, xml=xml_object)
|
glymur.jp2box.XMLBox(filename=self.xmlfile, xml=xml_object)
|
||||||
|
|
||||||
@unittest.skipIf(os.name == "nt",
|
|
||||||
"Problems using NamedTemporaryFile on windows.")
|
|
||||||
def test_basic_xml(self):
|
def test_basic_xml(self):
|
||||||
"""Should be able to write a basic XMLBox"""
|
"""Should be able to write a basic XMLBox"""
|
||||||
j2k = Jp2k(self.j2kfile)
|
j2k = Jp2k(self.j2kfile)
|
||||||
|
|
@ -116,8 +115,26 @@ class TestXML(unittest.TestCase):
|
||||||
self.assertEqual(ET.tostring(jp2.box[3].xml.getroot()),
|
self.assertEqual(ET.tostring(jp2.box[3].xml.getroot()),
|
||||||
b'<data>0</data>')
|
b'<data>0</data>')
|
||||||
|
|
||||||
@unittest.skipIf(os.name == "nt",
|
def test_utf8_xml(self):
|
||||||
"Problems using NamedTemporaryFile on windows.")
|
"""Should be able to write/read an XMLBox with utf-8 encoding."""
|
||||||
|
j2k = Jp2k(self.j2kfile)
|
||||||
|
|
||||||
|
self.jp2h.box = [self.ihdr, self.colr]
|
||||||
|
|
||||||
|
xml_header = u'<?xml version="1.0" encoding="utf-8"?>'
|
||||||
|
xml_string = u'<country>Россия</country>'
|
||||||
|
the_xml = ET.fromstring((xml_header + xml_string).encode('utf-8'))
|
||||||
|
xmlb = glymur.jp2box.XMLBox(xml=the_xml)
|
||||||
|
self.assertEqual(ET.tostring(xmlb.xml, encoding='utf-8').decode('utf-8'), xml_string)
|
||||||
|
|
||||||
|
boxes = [self.jp2b, self.ftyp, self.jp2h, xmlb, self.jp2c]
|
||||||
|
|
||||||
|
with tempfile.NamedTemporaryFile(suffix=".jp2") as tfile:
|
||||||
|
j2k.wrap(tfile.name, boxes=boxes)
|
||||||
|
jp2 = Jp2k(tfile.name)
|
||||||
|
self.assertEqual(ET.tostring(jp2.box[3].xml.getroot(), encoding='utf-8').decode('utf-8'),
|
||||||
|
xml_string)
|
||||||
|
|
||||||
def test_xml_from_file(self):
|
def test_xml_from_file(self):
|
||||||
"""Must be able to create an XML box from an XML file."""
|
"""Must be able to create an XML box from an XML file."""
|
||||||
j2k = Jp2k(self.j2kfile)
|
j2k = Jp2k(self.j2kfile)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue