summaryrefslogtreecommitdiffhomepage
path: root/contrib/iostream3/test.cc
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-09-29 21:52:57 +0200
committerAki <please@ignore.pl>2021-09-29 21:52:57 +0200
commit07162fa301835387e4da4278326ec1ff45d1dc3e (patch)
treef356f7c59f4741ad77d52f1cd5619a916df3b912 /contrib/iostream3/test.cc
downloadstarshatter-07162fa301835387e4da4278326ec1ff45d1dc3e.zip
starshatter-07162fa301835387e4da4278326ec1ff45d1dc3e.tar.gz
starshatter-07162fa301835387e4da4278326ec1ff45d1dc3e.tar.bz2
Squashed 'zlib/' content from commit cacf7f1
git-subtree-dir: zlib git-subtree-split: cacf7f1d4e3d44d871b605da3b647f07d718623f
Diffstat (limited to 'contrib/iostream3/test.cc')
-rw-r--r--contrib/iostream3/test.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/contrib/iostream3/test.cc b/contrib/iostream3/test.cc
new file mode 100644
index 0000000..9423533
--- /dev/null
+++ b/contrib/iostream3/test.cc
@@ -0,0 +1,50 @@
+/*
+ * Test program for gzifstream and gzofstream
+ *
+ * by Ludwig Schwardt <schwardt@sun.ac.za>
+ * original version by Kevin Ruland <kevin@rodin.wustl.edu>
+ */
+
+#include "zfstream.h"
+#include <iostream> // for cout
+
+int main() {
+
+ gzofstream outf;
+ gzifstream inf;
+ char buf[80];
+
+ outf.open("test1.txt.gz");
+ outf << "The quick brown fox sidestepped the lazy canine\n"
+ << 1.3 << "\nPlan " << 9 << std::endl;
+ outf.close();
+ std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n"
+ << "The quick brown fox sidestepped the lazy canine\n"
+ << 1.3 << "\nPlan " << 9 << std::endl;
+
+ std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n";
+ inf.open("test1.txt.gz");
+ while (inf.getline(buf,80,'\n')) {
+ std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
+ }
+ inf.close();
+
+ outf.rdbuf()->pubsetbuf(0,0);
+ outf.open("test2.txt.gz");
+ outf << setcompression(Z_NO_COMPRESSION)
+ << "The quick brown fox sidestepped the lazy canine\n"
+ << 1.3 << "\nPlan " << 9 << std::endl;
+ outf.close();
+ std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form";
+
+ std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n";
+ inf.rdbuf()->pubsetbuf(0,0);
+ inf.open("test2.txt.gz");
+ while (inf.getline(buf,80,'\n')) {
+ std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
+ }
+ inf.close();
+
+ return 0;
+
+}