From acf7453057a1159d2ca6dc31690e740829bfd7a1 Mon Sep 17 00:00:00 2001 From: simon987 Date: Thu, 17 Mar 2022 15:05:48 -0400 Subject: [PATCH] Add test for large msdoc --- third-party/libscan/test/main.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/third-party/libscan/test/main.cpp b/third-party/libscan/test/main.cpp index 51c6c35..1d2e300 100644 --- a/third-party/libscan/test/main.cpp +++ b/third-party/libscan/test/main.cpp @@ -923,7 +923,6 @@ TEST(Msdoc, Test1Pdf) { ASSERT_TRUE(strstr(get_meta(&doc, MetaContent)->str_val, "October 2000") != nullptr); ASSERT_STREQ(get_meta(&doc, MetaTitle)->str_val, "INTERNATIONAL ORGANIZATION FOR STANDARDIZATION"); ASSERT_STREQ(get_meta(&doc, MetaAuthor)->str_val, "Oliver Morgan"); - ASSERT_EQ(get_meta(&doc, MetaPages)->long_val, 57); ASSERT_NEAR(strlen(get_meta(&doc, MetaContent)->str_val), msdoc_ctx.content_size, 4); ASSERT_NE(size_before, store_size); @@ -1030,6 +1029,23 @@ TEST(Msdoc, TestUtf8Text) { cleanup(&doc, &f); } +TEST(Msdoc, Test5Pdf) { + vfile_t f; + document_t doc; + load_doc_file("libscan-test-files/test_files/msdoc/test5.doc", &f, &doc); + + size_t size_before = store_size; + + parse_msdoc(&msdoc_ctx, &f, &doc); + + ASSERT_TRUE(strstr(get_meta(&doc, MetaContent)->str_val, "орган Федеральной") != nullptr); + ASSERT_STREQ(get_meta(&doc, MetaAuthor)->str_val, "uswo"); + ASSERT_NEAR(strlen(get_meta(&doc, MetaContent)->str_val), msdoc_ctx.content_size, 4); + ASSERT_NE(size_before, store_size); + + cleanup(&doc, &f); +} + TEST(Msdoc, TestFuzz1) { vfile_t f; document_t doc; @@ -1189,4 +1205,7 @@ int main(int argc, char **argv) { av_log_set_level(AV_LOG_QUIET); ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); -} \ No newline at end of file +} + +// 0x6130000d2580 +// "/mnt/Hatchery/m ain/downloads/qbittorrent/downloads/Roskomnadzor/УПРАВЛЕНИЕ РОСКОМНАДЗОРА по РБ.zip#/УПРАВЛЕНИЕ РОСКОМНАДЗОРА по РБ/Лопатин Ю.М/Секнин/2015 год/Обучение по ", ... \ No newline at end of file