summaryrefslogtreecommitdiffstats
path: root/src/io/streamtest.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2018-11-18 10:57:08 +0000
committerTavmjong Bah <tavmjong@free.fr>2018-11-18 10:57:08 +0000
commit50964e485f3272c8aa7f655d552577771c93bfb3 (patch)
tree2ffac2061e2abad8c40a3699ef0321f94a325aca /src/io/streamtest.cpp
parentMerge branch 'gadic/inkscape-transl_fr' (diff)
downloadinkscape-50964e485f3272c8aa7f655d552577771c93bfb3.tar.gz
inkscape-50964e485f3272c8aa7f655d552577771c93bfb3.zip
Move i/o stream classes into own directory. Add README.
Diffstat (limited to 'src/io/streamtest.cpp')
-rw-r--r--src/io/streamtest.cpp256
1 files changed, 0 insertions, 256 deletions
diff --git a/src/io/streamtest.cpp b/src/io/streamtest.cpp
deleted file mode 100644
index 5d270580b..000000000
--- a/src/io/streamtest.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/** @file
- * TODO: insert short description here
- *//*
- * Authors: see git history
- *
- * Copyright (C) 2015 Authors
- * Released under GNU GPL v2+, read the file 'COPYING' for more information.
- */
-
-
-#include <stdio.h>
-#include <limits.h> // realpath
-#include <stdlib.h> // mkdtemp, realpath
-#include <unistd.h> // chdir
-#include <string.h> // strlen, strncpy, strrchr
-
-#include "inkscapestream.h"
-#include "base64stream.h"
-#include "gzipstream.h"
-#include "stringstream.h"
-#include "uristream.h"
-#include "xsltstream.h"
-
-// quick way to pass the name of the executable into the test
-char myself[PATH_MAX];
-
-// names and path storage for other tests
-char *xmlname = "crystalegg.xml";
-char xmlpath[PATH_MAX];
-char *xslname = "doc2html.xsl";
-char xslpath[PATH_MAX];
-
-bool testUriStream()
-{
- printf("######### UriStream copy ############\n");
- Inkscape::URI inUri(myself);
- Inkscape::IO::UriInputStream ins(inUri);
- Inkscape::URI outUri("streamtest.copy");
- Inkscape::IO::UriOutputStream outs(outUri);
-
- pipeStream(ins, outs);
-
- ins.close();
- outs.close();
-
- return true;
-}
-
-bool testWriter()
-{
- printf("######### OutputStreamWriter ############\n");
- Inkscape::IO::StdOutputStream outs;
- Inkscape::IO::OutputStreamWriter writer(outs);
-
- writer << "Hello, world! " << 123.45 << " times\n";
-
- writer.printf("There are %f quick brown foxes in %d states\n", 123.45, 88);
-
- return true;
-}
-
-bool testStdWriter()
-{
- printf("######### StdWriter ############\n");
- Inkscape::IO::StdWriter writer;
-
- writer << "Hello, world! " << 123.45 << " times\n";
-
- writer.printf("There are %f quick brown foxes in %d states\n", 123.45, 88);
-
- return true;
-}
-
-bool testBase64()
-{
- printf("######### Base64 Out ############\n");
- Inkscape::URI plainInUri(xmlpath);
- Inkscape::IO::UriInputStream ins1(plainInUri);
-
- Inkscape::URI b64OutUri("crystalegg.xml.b64");
- Inkscape::IO::UriOutputStream outs1(b64OutUri);
- Inkscape::IO::Base64OutputStream b64Outs(outs1);
-
- pipeStream(ins1, b64Outs);
-
- ins1.close();
- b64Outs.close();
-
- printf("######### Base64 In ############\n");
- Inkscape::URI b64InUri("crystalegg.xml.b64");
- Inkscape::IO::UriInputStream ins2(b64InUri);
- Inkscape::IO::Base64InputStream b64Ins(ins2);
-
- Inkscape::URI plainOutUri("crystalegg.xml.b64dec");
- Inkscape::IO::UriOutputStream outs2(plainOutUri);
-
- pipeStream(b64Ins, outs2);
-
- outs2.close();
- b64Ins.close();
-
- return true;
-}
-
-bool testXslt()
-{
- printf("######### XSLT Sheet ############\n");
- Inkscape::URI xsltSheetUri(xslpath);
- Inkscape::IO::UriInputStream xsltSheetIns(xsltSheetUri);
- Inkscape::IO::XsltStyleSheet stylesheet(xsltSheetIns);
- xsltSheetIns.close();
-
- Inkscape::URI sourceUri(xmlpath);
- Inkscape::IO::UriInputStream xmlIns(sourceUri);
-
- printf("######### XSLT Input ############\n");
- Inkscape::URI destUri("test.html");
- Inkscape::IO::UriOutputStream xmlOuts(destUri);
-
- Inkscape::IO::XsltInputStream xsltIns(xmlIns, stylesheet);
- pipeStream(xsltIns, xmlOuts);
- xsltIns.close();
- xmlOuts.close();
-
-
- printf("######### XSLT Output ############\n");
-
- Inkscape::IO::UriInputStream xmlIns2(sourceUri);
-
- Inkscape::URI destUri2("test2.html");
- Inkscape::IO::UriOutputStream xmlOuts2(destUri2);
-
- Inkscape::IO::XsltOutputStream xsltOuts(xmlOuts2, stylesheet);
- pipeStream(xmlIns2, xsltOuts);
- xmlIns2.close();
- xsltOuts.close();
-
- return true;
-}
-
-bool testGzip()
-{
-
- printf("######### Gzip Output ############\n");
- Inkscape::URI gzUri("test.gz");
- Inkscape::URI sourceUri(xmlpath);
- Inkscape::IO::UriInputStream sourceIns(sourceUri);
- Inkscape::IO::UriOutputStream gzOuts(gzUri);
-
- Inkscape::IO::GzipOutputStream gzipOuts(gzOuts);
- pipeStream(sourceIns, gzipOuts);
- sourceIns.close();
- gzipOuts.close();
-
- printf("######### Gzip Input ############\n");
-
- Inkscape::IO::UriInputStream gzIns(gzUri);
- Inkscape::URI destUri("crystalegg2.xml");
- Inkscape::IO::UriOutputStream destOuts(destUri);
-
- Inkscape::IO::GzipInputStream gzipIns(gzIns);
- pipeStream(gzipIns, destOuts);
- gzipIns.close();
- destOuts.close();
-
- return true;
-}
-
-bool doTest()
-{
- if (!testUriStream())
- {
- return false;
- }
- if (!testWriter())
- {
- return false;
- }
- if (!testStdWriter())
- {
- return false;
- }
- if (!testBase64())
- {
- return false;
- }
- if (!testXslt())
- {
- return false;
- }
- if (!testGzip())
- {
- return false;
- }
- return true;
-}
-
-void path_init(char *path, char *name)
-{
- if (strlen(name)>PATH_MAX-strlen(myself))
- {
- printf("merging paths would be too long\n");
- exit(1);
- }
- strncpy(path,myself,PATH_MAX);
- char * ptr = strrchr(path,'/');
- if (!ptr)
- {
- printf("path '%s' is missing any slashes\n",path);
- exit(1);
- }
- strncpy(ptr+1,name,strlen(name)+1);
- path[PATH_MAX-1] = '\0';
- printf("'%s'\n",path);
-}
-
-
-int main(int argc, char **argv)
-{
- if (!realpath(argv[0],myself))
- {
- perror("realpath");
- return 1;
- }
- path_init(xmlpath,xmlname);
- path_init(xslpath,xslname);
-
- // create temp files somewhere else instead of current dir
- // TODO: clean them up too
- char * testpath = strdup("/tmp/streamtest-XXXXXX");
- char * testpath2;
- testpath2 = mkdtemp(testpath);
- free(testpath);
- if (!testpath2)
- {
- perror("mkdtemp");
- return 1;
- }
- if (chdir(testpath2))
- {
- perror("chdir");
- return 1;
- }
-
- if (!doTest())
- {
- printf("#### Test failed\n");
- return 1;
- }
- else
- {
- printf("##### Test succeeded\n");
- }
- return 0;
-}