From cfc3a58550704f86cc5db1d1ba37ef2a7d68dca0 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 23 Apr 2018 00:28:36 +0200 Subject: [PATCH] Add a test for odg --- src/office.py | 1 + tests/data/dirty.odg | Bin 0 -> 8992 bytes tests/test_libmat2.py | 16 ++++++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 tests/data/dirty.odg diff --git a/src/office.py b/src/office.py index 5509c6e..da6168e 100644 --- a/src/office.py +++ b/src/office.py @@ -109,6 +109,7 @@ class LibreOfficeParser(ArchiveBasedAbstractParser): 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.chart', 'application/vnd.oasis.opendocument.formula', + 'application/vnd.oasis.opendocument.image', } def get_meta(self): diff --git a/tests/data/dirty.odg b/tests/data/dirty.odg new file mode 100644 index 0000000000000000000000000000000000000000..8605c9cdae7602019dd3ebe5005d7a93ae981bbd GIT binary patch literal 8992 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 BRX+d# literal 0 HcmV?d00001 diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 6efaf31..31a3143 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -357,3 +357,19 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) os.remove('./tests/data/clean.odf') + + + def test_odg(self): + shutil.copy('./tests/data/dirty.odg', './tests/data/clean.odg') + p = office.LibreOfficeParser('./tests/data/clean.odg') + + meta = p.get_meta() + self.assertEqual(meta['dc:date'], '2018-04-23T00:26:59.385838550') + + ret = p.remove_all() + self.assertTrue(ret) + + p = office.LibreOfficeParser('./tests/data/clean.odg.cleaned') + self.assertEqual(p.get_meta(), {}) + + os.remove('./tests/data/clean.odg')