11#include < odr/file.hpp>
22
33#include < odr/internal/magic.hpp>
4+ #include < odr/internal/project_info.hpp>
45
56#include < test_util.hpp>
67
@@ -13,26 +14,49 @@ using namespace odr::test;
1314TEST (magic, odt) {
1415 const File file (TestData::test_file_path (" odr-public/odt/about.odt" ));
1516 EXPECT_EQ (magic::file_type (*file.impl ()), FileType::zip);
17+
18+ if (project_info::has_libmagic ()) {
19+ EXPECT_EQ (magic::mimetype (file.disk_path ().value ()),
20+ " application/vnd.oasis.opendocument.text" );
21+ }
1622}
1723
1824TEST (magic, doc) {
1925 const File file (TestData::test_file_path (" odr-public/doc/empty.doc" ));
2026 EXPECT_EQ (magic::file_type (*file.impl ()),
2127 FileType::compound_file_binary_format);
28+
29+ if (project_info::has_libmagic ()) {
30+ EXPECT_EQ (magic::mimetype (file.disk_path ().value ()), " application/msword" );
31+ }
2232}
2333
2434TEST (magic, svm) {
2535 const File file (TestData::test_file_path (" odr-public/svm/chart-1.svm" ));
2636 EXPECT_EQ (magic::file_type (*file.impl ()), FileType::starview_metafile);
37+
38+ if (project_info::has_libmagic ()) {
39+ EXPECT_EQ (magic::mimetype (file.disk_path ().value ()),
40+ " application/octet-stream" );
41+ }
2742}
2843
2944TEST (magic, odf) {
3045 const File file (TestData::test_file_path (" odr-private/pdf/sample.pdf" ));
3146 EXPECT_EQ (magic::file_type (*file.impl ()), FileType::portable_document_format);
47+
48+ if (project_info::has_libmagic ()) {
49+ EXPECT_EQ (magic::mimetype (file.disk_path ().value ()), " application/pdf" );
50+ }
3251}
3352
3453TEST (magic, wpd) {
3554 const File file (
3655 TestData::test_file_path (" odr-public/wpd/Sync3 Sample Page.wpd" ));
3756 EXPECT_EQ (magic::file_type (*file.impl ()), FileType::word_perfect);
57+
58+ if (project_info::has_libmagic ()) {
59+ EXPECT_EQ (magic::mimetype (file.disk_path ().value ()),
60+ " application/vnd.wordperfect" );
61+ }
3862}
0 commit comments