summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/tests
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-22 03:00:48 +0000
committerNorbert Preining <norbert@preining.info>2020-03-22 03:00:48 +0000
commit75d8dfa80524727ddb7d8ae217ed6463efba84cf (patch)
treea1a1db248828dd36aecb1697d64d28a2ff813d29 /dviware/dvisvgm/tests
parent3e43bc594a14e8c4fc21d6a71f22a23dd78fe252 (diff)
CTAN sync 202003220300
Diffstat (limited to 'dviware/dvisvgm/tests')
-rw-r--r--dviware/dvisvgm/tests/CalculatorTest.cpp22
-rw-r--r--dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp27
2 files changed, 28 insertions, 21 deletions
diff --git a/dviware/dvisvgm/tests/CalculatorTest.cpp b/dviware/dvisvgm/tests/CalculatorTest.cpp
index 28ebf342b8..af79a4c8e1 100644
--- a/dviware/dvisvgm/tests/CalculatorTest.cpp
+++ b/dviware/dvisvgm/tests/CalculatorTest.cpp
@@ -25,14 +25,19 @@
TEST(CalculatorTest, eval) {
Calculator calc;
- EXPECT_EQ(calc.eval("2+3+4"), 9);
- EXPECT_EQ(calc.eval("2*3+4"), 10);
- EXPECT_EQ(calc.eval("2+3*4"), 14);
- EXPECT_EQ(calc.eval("(2+3)*4"), 20);
- EXPECT_EQ(calc.eval("2*(3+4)"), 14);
- EXPECT_EQ(calc.eval("-2+3+4"), 5);
- EXPECT_EQ(calc.eval("3/2"), 1.5);
- EXPECT_EQ(calc.eval("3%2"), 1);
+ EXPECT_EQ(calc.eval("2+3+4"), 9);
+ EXPECT_EQ(calc.eval("2*3+4"), 10);
+ EXPECT_EQ(calc.eval("2+3*4"), 14);
+ EXPECT_EQ(calc.eval("(2+3)*4"), 20);
+ EXPECT_EQ(calc.eval("2*(3+4)"), 14);
+ EXPECT_EQ(calc.eval("2(3+4)"), 14);
+ EXPECT_EQ(calc.eval("(1+2)(3+4)"), 21);
+ EXPECT_EQ(calc.eval("-(1+2)(3+4)"), -21);
+ EXPECT_EQ(calc.eval("(1+2)-(3+4)"), -4);
+ EXPECT_EQ(calc.eval("-2+3+4"), 5);
+ EXPECT_EQ(calc.eval("3/2"), 1.5);
+ EXPECT_EQ(calc.eval("3%2"), 1);
+ EXPECT_EQ(calc.eval("-(4)"), -4);
}
@@ -47,6 +52,7 @@ TEST(CalculatorTest, variables) {
calc.setVariable("b", 3);
EXPECT_EQ(calc.eval("a+b"), 5);
EXPECT_EQ(calc.eval("2a+2b"), 10);
+ EXPECT_EQ(calc.eval("2a(1+2b)"), 28);
}
diff --git a/dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp b/dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp
index 829b4ca5ad..b8e67403ae 100644
--- a/dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp
+++ b/dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp
@@ -27,13 +27,14 @@
using namespace std;
+
class MyDvisvgmSpecialHandler : public DvisvgmSpecialHandler {
public:
void finishPreprocessing () {dviPreprocessingFinished();}
- void finishPage () {dviEndPage(0, emptyActions);}
+ void finishPage () {dviEndPage(0, _actions);}
protected:
- EmptySpecialActions emptyActions;
+ EmptySpecialActions _actions;
};
@@ -42,8 +43,8 @@ class DvisvgmSpecialTest : public ::testing::Test {
class ActionsRecorder : public EmptySpecialActions {
public:
void embed (const BoundingBox &bb) override {bbox.embed(bb);}
- double getX () const override {return 0;}
- double getY () const override {return 0;}
+ double getX () const override {return -42;}
+ double getY () const override {return 14;}
bool defsEquals (const string &str) const {return defsString() == str;}
bool pageEquals (const string &str) const {return pageString() == str;}
bool bboxEquals (const string &str) const {return bbox.toSVGViewBox() == str;}
@@ -86,15 +87,15 @@ TEST_F(DvisvgmSpecialTest, basic) {
TEST_F(DvisvgmSpecialTest, rawText) {
- istringstream iss("raw first{?nl}");
+ istringstream iss("raw first{?nl}{?x},{?y}");
handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
- EXPECT_TRUE(recorder.pageEquals("<g id='page1'>first\n</g>")) << recorder.pageString();
+ EXPECT_TRUE(recorder.pageEquals("<g id='page1'>first\n-42,14</g>")) << recorder.pageString();
- iss.clear(); iss.str("raw \t second {?bbox dummy} \t");
+ iss.clear(); iss.str("raw \t ;{?(-x+2*y-5)}second {?bbox dummy} \t");
handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
- EXPECT_TRUE(recorder.pageEquals("<g id='page1'>first\nsecond 0 0 0 0</g>")) << recorder.pageString();
+ EXPECT_TRUE(recorder.pageEquals("<g id='page1'>first\n-42,14;65second 0 0 0 0</g>")) << recorder.pageString();
}
@@ -313,13 +314,13 @@ TEST_F(DvisvgmSpecialTest, processImg) {
std::istringstream iss("img 72.27 72.27 test.png");
handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
- EXPECT_TRUE(recorder.pageEquals("<g id='page1'><image x='0' y='0' width='72' height='72' xlink:href='test.png'/></g>")) << recorder.pageString();
+ EXPECT_TRUE(recorder.pageEquals("<g id='page1'><image x='-42' y='14' width='72' height='72' xlink:href='test.png'/></g>")) << recorder.pageString();
recorder.clear();
iss.clear();
iss.str("img 10bp 20bp test2.png");
handler.process("", iss, recorder);
- EXPECT_TRUE(recorder.pageEquals("<g id='page1'><image x='0' y='0' width='10' height='20' xlink:href='test2.png'/></g>")) << recorder.pageString();
+ EXPECT_TRUE(recorder.pageEquals("<g id='page1'><image x='-42' y='14' width='10' height='20' xlink:href='test2.png'/></g>")) << recorder.pageString();
}
@@ -340,19 +341,19 @@ TEST_F(DvisvgmSpecialTest, processBBox) {
iss.clear();
iss.str("bbox 72.27 72.27");
handler.process("", iss, recorder);
- EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
+ EXPECT_TRUE(recorder.bboxEquals("-42 -58 72 72"));
recorder.clear();
iss.clear();
iss.str("bbox 72bp 72bp");
handler.process("", iss, recorder);
- EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
+ EXPECT_TRUE(recorder.bboxEquals("-42 -58 72 72"));
recorder.clear();
iss.clear();
iss.str("bbox rel 72.27 72.27");
handler.process("", iss, recorder);
- EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
+ EXPECT_TRUE(recorder.bboxEquals("-42 -58 72 72"));
recorder.clear();
iss.clear();