diff options
Diffstat (limited to 'libtests')
-rw-r--r-- | libtests/buffer.cc | 59 | ||||
-rw-r--r-- | libtests/logger_c.c | 5 | ||||
-rw-r--r-- | libtests/qtest/flate.test | 10 | ||||
-rw-r--r-- | libtests/qtest/logger/c-exp-save | bin | 799 -> 774 bytes |
4 files changed, 68 insertions, 6 deletions
diff --git a/libtests/buffer.cc b/libtests/buffer.cc index e62a37ca..1b87bb7d 100644 --- a/libtests/buffer.cc +++ b/libtests/buffer.cc @@ -35,6 +35,21 @@ main() assert(bc2p != bc1p); assert(bc2p[0] == 'R'); assert(bc2p[1] == 'W'); + + // Test Buffer(std:string&&) + Buffer bc3("QW"); + unsigned char* bc3p = bc3.getBuffer(); + Buffer bc4(bc3.copy()); + bc3p[0] = 'R'; + unsigned char* bc4p = bc4.getBuffer(); + assert(bc4p != bc3p); + assert(bc4p[0] == 'Q'); + assert(bc4p[1] == 'W'); + bc4 = bc3.copy(); + bc4p = bc4.getBuffer(); + assert(bc4p != bc3p); + assert(bc4p[0] == 'R'); + assert(bc4p[1] == 'W'); } #ifdef _MSC_VER @@ -62,6 +77,37 @@ main() assert(bc2p != bc1p); assert(bc2p[0] == 'R'); assert(bc2p[1] == 'W'); + + // Test Buffer(std:string&&) + Buffer bc3("QW"); + unsigned char* bc3p = bc3.getBuffer(); + Buffer bc4(bc3); + bc3p[0] = 'R'; + unsigned char* bc4p = bc4.getBuffer(); + assert(bc4p != bc3p); + assert(bc4p[0] == 'Q'); + assert(bc4p[1] == 'W'); + bc4 = bc3; + bc4p = bc4.getBuffer(); + assert(bc4p != bc3p); + assert(bc2p[0] == 'R'); + assert(bc2p[1] == 'W'); + + // Test Buffer(std:string&) + std::string s{"QW"}; + Buffer bc5(s); + unsigned char* bc5p = bc5.getBuffer(); + Buffer bc6(bc5); + bc5p[0] = 'R'; + unsigned char* bc6p = bc6.getBuffer(); + assert(bc6p != bc5p); + assert(bc6p[0] == 'Q'); + assert(bc6p[1] == 'W'); + bc6 = bc5; + bc6p = bc6.getBuffer(); + assert(bc6p != bc5p); + assert(bc2p[0] == 'R'); + assert(bc2p[1] == 'W'); } #if (defined(__GNUC__) || defined(__clang__)) # pragma GCC diagnostic pop @@ -82,6 +128,19 @@ main() Buffer bm3 = std::move(bm2); unsigned char* bm3p = bm3.getBuffer(); assert(bm3p == bm2p); + + // Test Buffer(dtd::string&&) + Buffer bm4("QW"); + unsigned char* bm4p = bm4.getBuffer(); + Buffer bm5(std::move(bm4)); + bm4p[0] = 'R'; + unsigned char* bm5p = bm5.getBuffer(); + assert(bm5p == bm4p); + assert(bm5p[0] == 'R'); + + Buffer bm6 = std::move(bm5); + unsigned char* bm6p = bm6.getBuffer(); + assert(bm6p == bm5p); } try { diff --git a/libtests/logger_c.c b/libtests/logger_c.c index 4e9883a7..8f44864d 100644 --- a/libtests/logger_c.c +++ b/libtests/logger_c.c @@ -60,6 +60,7 @@ main() do_run( "{\"inputFile\": \"normal.pdf\"," " \"staticId\": \"\"," + " \"streamData\": \"uncompress\"," " \"outputFile\": \"-\"}", qpdf_exit_success); @@ -75,9 +76,7 @@ main() do_run("{\"inputFile\": \"2pages.pdf\", \"showNpages\": \"\"}", qpdf_exit_success); do_run("{\"inputFile\": \"warning.pdf\", \"showNpages\": \"\"}", qpdf_exit_warning); - do_run( - - "{\"inputFile\": \"missing.pdf\", \"showNpages\": \"\"}", qpdf_exit_error); + do_run("{\"inputFile\": \"missing.pdf\", \"showNpages\": \"\"}", qpdf_exit_error); do_run( "{\"inputFile\": \"attach.pdf\"," " \"showAttachment\": \"a\"}", diff --git a/libtests/qtest/flate.test b/libtests/qtest/flate.test index 3d99bc3a..c32b15b1 100644 --- a/libtests/qtest/flate.test +++ b/libtests/qtest/flate.test @@ -39,9 +39,13 @@ $td->runtest("run driver", check_file("farbage", "a6449c61db5b0645c0693b7560b77a60"); -$td->runtest("compressed file correct", - {$td->FILE => "farbage.1"}, - {$td->FILE => "compressed"}); +my $size_uncompressed = (stat("farbage"))[7]; +my $size_compressed = (stat("farbage.1"))[7]; +$td->runtest("compressed is smaller", + {$td->STRING => + ($size_compressed < $size_uncompressed + ? "YES\n" : "$size_compressed $size_uncompressed\n")}, + {$td->STRING => "YES\n"}); $td->runtest("uncompress filter works", {$td->FILE => "farbage"}, diff --git a/libtests/qtest/logger/c-exp-save b/libtests/qtest/logger/c-exp-save Binary files differindex b8c692ed..2636d712 100644 --- a/libtests/qtest/logger/c-exp-save +++ b/libtests/qtest/logger/c-exp-save |