summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_deep_cleaning.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_deep_cleaning.py b/tests/test_deep_cleaning.py
index 8c6f257..3d1c8e1 100644
--- a/tests/test_deep_cleaning.py
+++ b/tests/test_deep_cleaning.py
@@ -70,3 +70,38 @@ class TestZipMetadata(unittest.TestCase):
70 70
71 os.remove('./tests/data/clean.odt') 71 os.remove('./tests/data/clean.odt')
72 os.remove('./tests/data/clean.cleaned.odt') 72 os.remove('./tests/data/clean.cleaned.odt')
73
74
75class TestZipOrder(unittest.TestCase):
76 def test_libreoffice(self):
77 shutil.copy('./tests/data/dirty.odt', './tests/data/clean.odt')
78 p = office.LibreOfficeParser('./tests/data/clean.odt')
79
80 meta = p.get_meta()
81 self.assertIsNotNone(meta)
82
83 is_unordered = False
84 with zipfile.ZipFile('./tests/data/clean.odt') as zin:
85 previous_name = ''
86 for item in zin.infolist():
87 if previous_name == '':
88 previous_name = item.filename
89 continue
90 elif item.filename < previous_name:
91 is_unordered = True
92 break
93 self.assertTrue(is_unordered)
94
95 ret = p.remove_all()
96 self.assertTrue(ret)
97
98 with zipfile.ZipFile('./tests/data/clean.cleaned.odt') as zin:
99 previous_name = ''
100 for item in zin.infolist():
101 if previous_name == '':
102 previous_name = item.filename
103 continue
104 self.assertGreaterEqual(item.filename, previous_name)
105
106 os.remove('./tests/data/clean.odt')
107 os.remove('./tests/data/clean.cleaned.odt')