mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-11 07:30:57 +00:00
Add test code for Pl_Concatenate
This commit is contained in:
parent
f07e3370f0
commit
d6cb2b9418
@ -3,6 +3,7 @@ BINS_libtests = \
|
||||
ascii85 \
|
||||
bits \
|
||||
buffer \
|
||||
concatenate \
|
||||
flate \
|
||||
hex \
|
||||
lzw \
|
||||
|
38
libtests/concatenate.cc
Normal file
38
libtests/concatenate.cc
Normal file
@ -0,0 +1,38 @@
|
||||
#include <qpdf/Pl_Concatenate.hh>
|
||||
#include <qpdf/Pl_Flate.hh>
|
||||
#include <qpdf/Pl_Buffer.hh>
|
||||
#include <iostream>
|
||||
#include <assert.h>
|
||||
|
||||
static void pipeStringAndFinish(Pipeline* p, std::string const& str)
|
||||
{
|
||||
p->write((unsigned char*)str.c_str(), str.length());
|
||||
p->finish();
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
Pl_Buffer b1("compressed");
|
||||
Pl_Flate deflate("compress", &b1, Pl_Flate::a_deflate);
|
||||
Pl_Concatenate concat("concat", &deflate);
|
||||
pipeStringAndFinish(&concat, "-one-");
|
||||
pipeStringAndFinish(&concat, "-two-");
|
||||
concat.manualFinish();
|
||||
|
||||
PointerHolder<Buffer> b1_buf = b1.getBuffer();
|
||||
Pl_Buffer b2("uncompressed");
|
||||
Pl_Flate inflate("uncompress", &b2, Pl_Flate::a_inflate);
|
||||
inflate.write(b1_buf->getBuffer(), b1_buf->getSize());
|
||||
inflate.finish();
|
||||
PointerHolder<Buffer> b2_buf = b2.getBuffer();
|
||||
std::string result((char const*)b2_buf->getBuffer(), b2_buf->getSize());
|
||||
if (result == "-one--two-")
|
||||
{
|
||||
std::cout << "concatenate test passed" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "concatenate test failed: " << result << std::endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user