summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/tests
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-12-01 03:01:08 +0000
committerNorbert Preining <norbert@preining.info>2020-12-01 03:01:08 +0000
commit13dc4c947f3b419fc1b2ed24f10d69c841b0a37b (patch)
treeb70e11ae7d2e2d77221ef406a555d4f7e52fbaf7 /dviware/dvisvgm/tests
parentcb68d38823870fa7adb5f0c2b68cf59205dd4bec (diff)
CTAN sync 202012010301
Diffstat (limited to 'dviware/dvisvgm/tests')
-rw-r--r--dviware/dvisvgm/tests/Makefile.in4
-rw-r--r--dviware/dvisvgm/tests/PSInterpreterTest.cpp85
-rw-r--r--dviware/dvisvgm/tests/SubfontTest.cpp10
-rw-r--r--dviware/dvisvgm/tests/UnicodeTest.cpp34
-rw-r--r--dviware/dvisvgm/tests/data/Makefile.in4
5 files changed, 86 insertions, 51 deletions
diff --git a/dviware/dvisvgm/tests/Makefile.in b/dviware/dvisvgm/tests/Makefile.in
index e6fd46d52a..61c6b3458e 100644
--- a/dviware/dvisvgm/tests/Makefile.in
+++ b/dviware/dvisvgm/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/dviware/dvisvgm/tests/PSInterpreterTest.cpp b/dviware/dvisvgm/tests/PSInterpreterTest.cpp
index cf8f772e06..b40a210314 100644
--- a/dviware/dvisvgm/tests/PSInterpreterTest.cpp
+++ b/dviware/dvisvgm/tests/PSInterpreterTest.cpp
@@ -28,48 +28,49 @@ 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 setgray (vector<double> &p) override {print("setgray", p);}
- void sethsbcolor (vector<double> &p) override {print("sethsbcolor", 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 setopacityalpha (vector<double> &p) override {print("setopacityalpha", p);}
- void setshapealpha (vector<double> &p) override {print("setshapealpha", p);}
- void setrgbcolor (vector<double> &p) override {print("setrgbcolor", 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);}
+ 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();}
diff --git a/dviware/dvisvgm/tests/SubfontTest.cpp b/dviware/dvisvgm/tests/SubfontTest.cpp
index 609a0efe99..939fef81c9 100644
--- a/dviware/dvisvgm/tests/SubfontTest.cpp
+++ b/dviware/dvisvgm/tests/SubfontTest.cpp
@@ -27,11 +27,11 @@ using namespace std;
TEST(SubfontTest, collect_subfonts) {
try {
if (SubfontDefinition *sfd = SubfontDefinition::lookup("sample")) {
- vector<Subfont*> subfonts;
+ vector<Subfont*> subfonts = sfd->subfonts();
const char *ids_cmp[] = {"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "x1"};
- int size = sizeof(ids_cmp)/sizeof(Subfont*);
- EXPECT_EQ(sfd->subfonts(subfonts), size);
- for (int i=0; i < size; i++) {
+ size_t size = sizeof(ids_cmp)/sizeof(Subfont*);
+ EXPECT_EQ(subfonts.size(), size);
+ for (size_t i=0; i < size; i++) {
EXPECT_EQ(subfonts[i]->id(), ids_cmp[i]);
}
}
@@ -44,7 +44,7 @@ TEST(SubfontTest, collect_subfonts) {
TEST(SubfontTest, read_table) {
try {
- if (SubfontDefinition *sfd = SubfontDefinition::lookup("sampl")) {
+ if (SubfontDefinition *sfd = SubfontDefinition::lookup("sample")) {
// check scanning of single value entries
Subfont *subfont = sfd->subfont("02");
ASSERT_NE(subfont, nullptr);
diff --git a/dviware/dvisvgm/tests/UnicodeTest.cpp b/dviware/dvisvgm/tests/UnicodeTest.cpp
index dc4e77d165..109b63f1ec 100644
--- a/dviware/dvisvgm/tests/UnicodeTest.cpp
+++ b/dviware/dvisvgm/tests/UnicodeTest.cpp
@@ -64,6 +64,40 @@ TEST(UnicodeTest, utf8) {
}
+TEST(UnicodeTest, fromSurrogate1) {
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800dc00), 0x10000u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd83cdd10), 0x1f110u);
+
+ // invalid surrogates
+ EXPECT_EQ(Unicode::fromSurrogate(0xd7ffdc00), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xdc00dc00), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800dbff), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800e000), 0u);
+}
+
+
+TEST(UnicodeTest, fromSurrogate2) {
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xdc00), 0x10000u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd83c, 0xdd10), 0x1f110u);
+
+ // invalid surrogates
+ EXPECT_EQ(Unicode::fromSurrogate(0xd7ff, 0xdc00), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xdc00, 0xdc00), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xdbff), 0u);
+ EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xe000), 0u);
+}
+
+
+TEST(UnicodeTest, toSurrogate) {
+ EXPECT_EQ(Unicode::toSurrogate(0x10000), 0xd800dc00u);
+ EXPECT_EQ(Unicode::toSurrogate(0x1f110), 0xd83cdd10u);
+
+ // invalid code points
+ EXPECT_EQ(Unicode::toSurrogate(0xffff), 0u);
+ EXPECT_EQ(Unicode::toSurrogate(0x110000), 0u);
+}
+
+
TEST(UnicodeTest, aglNameToCodepoint1) {
EXPECT_EQ(Unicode::aglNameToCodepoint("does not exist"), 0);
EXPECT_EQ(Unicode::aglNameToCodepoint("Eogonek"), 0x118);
diff --git a/dviware/dvisvgm/tests/data/Makefile.in b/dviware/dvisvgm/tests/data/Makefile.in
index 95c19a197a..78c73d04c7 100644
--- a/dviware/dvisvgm/tests/data/Makefile.in
+++ b/dviware/dvisvgm/tests/data/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,