summaryrefslogtreecommitdiffhomepage
path: root/zlib/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
commit86684427ef55fdad89bccf6afb3de8085ae4580a (patch)
treebeae38abc6a89c6388407f5eab60c1bd6ebdc1d1 /zlib/contrib/iostream3/test.cc
parent6ebfc6e07d5c4fc701ce522391616550d197881a (diff)
parent07162fa301835387e4da4278326ec1ff45d1dc3e (diff)
downloadstarshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.zip
starshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.tar.gz
starshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.tar.bz2
Merge commit '07162fa301835387e4da4278326ec1ff45d1dc3e' as 'zlib'
Diffstat (limited to 'zlib/contrib/iostream3/test.cc')
-rw-r--r--zlib/contrib/iostream3/test.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/zlib/contrib/iostream3/test.cc b/zlib/contrib/iostream3/test.cc
new file mode 100644
index 0000000..9423533
--- /dev/null
+++ b/zlib/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;
+
+}