From 0fa184cb6fbe05ebbec9054b493e80b9a5e91683 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 23 Apr 2018 00:24:39 +0200 Subject: [PATCH] Test .odf support --- src/office.py | 3 ++- tests/data/dirty.odf | Bin 0 -> 4861 bytes tests/test_libmat2.py | 16 +++++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 tests/data/dirty.odf diff --git a/src/office.py b/src/office.py index 11692c3..5509c6e 100644 --- a/src/office.py +++ b/src/office.py @@ -107,7 +107,8 @@ class LibreOfficeParser(ArchiveBasedAbstractParser): 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.graphics', - 'application/vnd.oasis.opendocument.chart' + 'application/vnd.oasis.opendocument.chart', + 'application/vnd.oasis.opendocument.formula', } def get_meta(self): diff --git a/tests/data/dirty.odf b/tests/data/dirty.odf new file mode 100644 index 0000000000000000000000000000000000000000..49da2bc22aba0bec45f4658cfa3c8a5679ecdd1a GIT binary patch literal 4861 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 literal 0 HcmV?d00001 diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index ff5c196..6efaf31 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -328,7 +328,6 @@ class TestCleaning(unittest.TestCase): os.remove('./tests/data/clean.bmp') - def test_torrent(self): shutil.copy('./tests/data/dirty.torrent', './tests/data/clean.torrent') p = torrent.TorrentParser('./tests/data/clean.torrent') @@ -343,3 +342,18 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) os.remove('./tests/data/clean.torrent') + + def test_odf(self): + shutil.copy('./tests/data/dirty.odf', './tests/data/clean.odf') + p = office.LibreOfficeParser('./tests/data/clean.odf') + + meta = p.get_meta() + self.assertEqual(meta['meta:creation-date'], '2018-04-23T00:18:59.438231281') + + ret = p.remove_all() + self.assertTrue(ret) + + p = office.LibreOfficeParser('./tests/data/clean.odf.cleaned') + self.assertEqual(p.get_meta(), {}) + + os.remove('./tests/data/clean.odf')