summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp188
1 files changed, 0 insertions, 188 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
deleted file mode 100644
index 09a014c98cc..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*************************************************************************
-** PSInterpreterTest.cpp **
-** **
-** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2021 Martin Gieseking <martin.gieseking@uos.de> **
-** **
-** This program is free software; you can redistribute it and/or **
-** modify it under the terms of the GNU General Public License as **
-** published by the Free Software Foundation; either version 3 of **
-** the License, or (at your option) any later version. **
-** **
-** This program is distributed in the hope that it will be useful, but **
-** WITHOUT ANY WARRANTY; without even the implied warranty of **
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
-** GNU General Public License for more details. **
-** **
-** You should have received a copy of the GNU General Public License **
-** along with this program; if not, see <http://www.gnu.org/licenses/>. **
-*************************************************************************/
-
-#include <gtest/gtest.h>
-#include "PSInterpreter.hpp"
-
-#include <sstream>
-#include <vector>
-
-using namespace std;
-
-class PSTestActions : public PSActions {
- public:
- void applyscalevals (vector<double> &p) override {print("applyscalevals", p);}
- void clip (vector<double> &p) override {print("clip", p);}
- void clippath (vector<double> &p) override {print("clippath", p);}
- void closepath (vector<double> &p) override {print("closepath", p);}
- void curveto (vector<double> &p) override {print("curveto", p);}
- void eoclip (vector<double> &p) override {print("eoclip", p);}
- void eofill (vector<double> &p) override {print("eofill", p);}
- void fill (vector<double> &p) override {print("fill", p);}
- void gsave (vector<double> &p) override {print("gsave", p);}
- void grestore (vector<double> &p) override {print("grestore", p);}
- void grestoreall (std::vector<double> &p) override {print("grestoreall", p);}
- void image (std::vector<double> &p) override {print("image", p);}
- void initclip (vector<double> &p) override {print("initclip", p);}
- void lineto (vector<double> &p) override {print("lineto", p);}
- void moveto (vector<double> &p) override {print("moveto", p);}
- void makepattern (vector<double> &p) override {print("makepattern", p);}
- void setpattern (vector<double> &p) override {print("setpattern", p);}
- void setpagedevice (vector<double> &p) override {print("setpagedevice", p);}
- void newpath (vector<double> &p) override {print("newpath", p);}
- void querypos (vector<double> &p) override {print("querypos", p);}
- void restore(std::vector<double> &p) override {print("restore", p);}
- void rotate (vector<double> &p) override {print("rotate", p);}
- void save(std::vector<double> &p) override {print("save", p);}
- void scale (vector<double> &p) override {print("scale", p);}
- void setblendmode (vector<double> &p) override {print("setblendmode", p);}
- void setcolorspace (vector<double> &p) override {print("setcolorspace", p);}
- void setcmykcolor (vector<double> &p) override {print("setcmykcolor", p);}
- void setdash (vector<double> &p) override {print("setdash", p);}
- void setfillconstantalpha (vector<double> &p) override {print("setfillconstantalpha", p);}
- void setgray (vector<double> &p) override {print("setgray", p);}
- void sethsbcolor (vector<double> &p) override {print("sethsbcolor", p);}
- void setisshapealpha (vector<double> &p) override {print("setisshapealpha", p);}
- void setlinecap (vector<double> &p) override {print("setlinecap", p);}
- void setlinejoin (vector<double> &p) override {print("setlinejoin", p);}
- void setlinewidth (vector<double> &p) override {print("setlinewidth", p);}
- void setmatrix (vector<double> &p) override {print("setmatrix", p);}
- void setmiterlimit (vector<double> &p) override {print("setmiterlimit", p);}
- void setnulldevice (vector<double> &p) override {print("setnulldevice", p);}
- void setrgbcolor (vector<double> &p) override {print("setrgbcolor", p);}
- void setstrokeconstantalpha (vector<double> &p) override {print("setstrokeconstantalpha", p);}
- void shfill (vector<double> &p) override {print("shfill", p);}
- void stroke (vector<double> &p) override {print("stroke", p);}
- void translate (vector<double> &p) override {print("translate", p);}
-
-
- string result () const {return _oss.str();}
- void clear () {_oss.str("");}
-
- protected:
- void print (const char *op, const vector<double> &p) {
- _oss << op;
- for (size_t i=0; i < p.size(); ++i)
- _oss << ' ' << p[i];
- _oss << ';';
- }
-
- private:
- ostringstream _oss;
-};
-
-
-TEST(PSInterpreterTest, init) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- ASSERT_TRUE(psi.active());
- EXPECT_EQ(actions.result(), "");
-}
-
-
-TEST(PSInterpreterTest, gsave_grestore) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("gsave ");
- EXPECT_EQ(actions.result(), "gsave;");
- actions.clear();
-
- psi.execute("grestore ");
- EXPECT_EQ(actions.result(), "setmatrix 1 0 0 1 0 0;applyscalevals 1 1 1;setlinewidth 1;setlinecap 0;setlinejoin 0;setmiterlimit 10;setcolorspace 0;setrgbcolor 0 0 0;setdash 0;grestore;");
- actions.clear();
-
- psi.execute("1 setlinecap 5 setmiterlimit 0 1 0 setrgbcolor gsave 0 setlinecap 10 setmiterlimit ");
- EXPECT_EQ(actions.result(), "setlinecap 1;setmiterlimit 5;setrgbcolor 0 1 0;gsave;setlinecap 0;setmiterlimit 10;");
- actions.clear();
-
- psi.execute("grestore ");
- EXPECT_EQ(actions.result(), "setmatrix 1 0 0 1 0 0;applyscalevals 1 1 1;setlinewidth 1;setlinecap 1;setlinejoin 0;setmiterlimit 5;setcolorspace 0;setrgbcolor 0 1 0;setdash 0;grestore;");
-}
-
-
-TEST(PSInterpreterTest, stroke_fill) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("0 0 moveto 10 10 lineto 0 10 lineto closepath stroke ");
- EXPECT_EQ(actions.result(), "setcolorspace 0;setrgbcolor 0 0 0;newpath 0;moveto 0 0;lineto 10 10;lineto 0 10;closepath;stroke;");
- actions.clear();
-
- psi.execute("0 0 moveto 10 10 lineto 0 10 lineto closepath fill ");
- EXPECT_EQ(actions.result(), "setcolorspace 0;setrgbcolor 0 0 0;newpath 0;moveto 0 0;lineto 10 10;lineto 0 10;closepath;fill;");
-}
-
-
-TEST(PSInterpreterTest, clip) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("initclip ");
- EXPECT_EQ(actions.result(), "initclip;");
- actions.clear();
-
- psi.execute("0 0 moveto 10 10 lineto 0 10 lineto closepath clip ");
- EXPECT_EQ(actions.result(), "newpath 0;moveto 0 0;lineto 10 10;lineto 0 10;closepath;clip;");
-}
-
-
-TEST(PSInterpreterTest, transform) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("10 10 scale 90 rotate 100 -100 translate ");
- EXPECT_EQ(actions.result(), "scale 10 10;applyscalevals 10 10 1;rotate 90;applyscalevals 10 10 0;translate 100 -100;");
-}
-
-
-TEST(PSInterpreterTest, calculate) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("2 3 add 4 mul 5 div rotate ");
- ASSERT_EQ(actions.result(), "rotate 4;applyscalevals 1 1 0.997564;");
-}
-
-
-TEST(PSInterpreterTest, setlinewidth) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("10 setlinewidth ");
- EXPECT_EQ(actions.result(), "setlinewidth 10;");
- actions.clear();
-
- psi.execute("5 5 scale 10 setlinewidth ");
- EXPECT_EQ(actions.result(), "scale 5 5;applyscalevals 5 5 1;setlinewidth 10;");
- actions.clear();
-
- psi.execute("90 rotate 10 setlinewidth ");
- EXPECT_EQ(actions.result(), "rotate 90;applyscalevals 5 5 0;setlinewidth 10;");
- actions.clear();
-
- psi.execute("-30 rotate 10 setlinewidth ");
- EXPECT_EQ(actions.result(), "rotate -30;applyscalevals 5 5 0.5;setlinewidth 10;");
-}
-
-
-TEST(PSInterpreterTest, matrix) {
- PSTestActions actions;
- PSInterpreter psi(&actions);
- psi.execute("matrix setmatrix ");
- EXPECT_EQ(actions.result(), "setmatrix 1 0 0 1 0 0;applyscalevals 1 1 1;");
- actions.clear();
- psi.execute("10 100 translate 30 rotate matrix currentmatrix setmatrix ");
- EXPECT_EQ(actions.result(), "translate 10 100;rotate 30;applyscalevals 1 1 0.866025;setmatrix 0.866025 0.5 -0.5 0.866025 10 100;applyscalevals 1 1 0.866025;");
-}