def test_write_filename_special_percent(self): # '%20' is a URL escaped space character. before_test = os.listdir(tempfile.gettempdir()) def difference(filenames): return sorted(fn for fn in set(filenames).difference(before_test) if fn.startswith('lxmltmp-')) with tmpfile(prefix="lxmltmp-p%20p", suffix=".xml") as filename: try: before_write = os.listdir(tempfile.gettempdir()) self.tree.write(filename) after_write = os.listdir(tempfile.gettempdir()) self.assertEqual( read_file(filename, 'rb').replace(b'\n', b''), self.root_str) except (AssertionError, IOError, OSError): print("Before write: %s, after write: %s" % (difference(before_write), difference(after_write))) raise
def test_write_filename(self): # (c)ElementTree supports filename strings as write argument with tmpfile(prefix="p", suffix=".xml") as filename: self.tree.write(filename) self.assertEqual( read_file(filename, 'rb').replace(b'\n', b''), self.root_str)
def test_write_filename_special_plus(self): # '+' is used as an escaped space character in URLs. with tmpfile(prefix="p+", suffix=".xml") as filename: self.tree.write(filename) self.assertEqual( read_file(filename, 'rb').replace(b'\n', b''), self.root_str)