From 13dc4c947f3b419fc1b2ed24f10d69c841b0a37b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 1 Dec 2020 03:01:08 +0000 Subject: CTAN sync 202012010301 --- dviware/dvisvgm/tests/Makefile.in | 4 +- dviware/dvisvgm/tests/PSInterpreterTest.cpp | 85 +++++++++++++++-------------- dviware/dvisvgm/tests/SubfontTest.cpp | 10 ++-- dviware/dvisvgm/tests/UnicodeTest.cpp | 34 ++++++++++++ dviware/dvisvgm/tests/data/Makefile.in | 4 +- 5 files changed, 86 insertions(+), 51 deletions(-) (limited to 'dviware/dvisvgm/tests') 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 &p) override {print("applyscalevals", p);} - void clip (vector &p) override {print("clip", p);} - void clippath (vector &p) override {print("clippath", p);} - void closepath (vector &p) override {print("closepath", p);} - void curveto (vector &p) override {print("curveto", p);} - void eoclip (vector &p) override {print("eoclip", p);} - void eofill (vector &p) override {print("eofill", p);} - void fill (vector &p) override {print("fill", p);} - void gsave (vector &p) override {print("gsave", p);} - void grestore (vector &p) override {print("grestore", p);} - void grestoreall (std::vector &p) override{print("grestoreall", p);} - void image (std::vector &p) override {print("image", p);} - void initclip (vector &p) override {print("initclip", p);} - void lineto (vector &p) override {print("lineto", p);} - void moveto (vector &p) override {print("moveto", p);} - void makepattern (vector &p) override {print("makepattern", p);} - void setpattern (vector &p) override {print("setpattern", p);} - void setpagedevice (vector &p) override {print("setpagedevice", p);} - void newpath (vector &p) override {print("newpath", p);} - void querypos (vector &p) override {print("querypos", p);} - void restore(std::vector &p) override {print("restore", p);} - void rotate (vector &p) override {print("rotate", p);} - void save(std::vector &p) override {print("save", p);} - void scale (vector &p) override {print("scale", p);} - void setblendmode (vector &p) override {print("setblendmode", p);} - void setcolorspace (vector &p) override {print("setcolorspace", p);} - void setcmykcolor (vector &p) override {print("setcmykcolor", p);} - void setdash (vector &p) override {print("setdash", p);} - void setgray (vector &p) override {print("setgray", p);} - void sethsbcolor (vector &p) override {print("sethsbcolor", p);} - void setlinecap (vector &p) override {print("setlinecap", p);} - void setlinejoin (vector &p) override {print("setlinejoin", p);} - void setlinewidth (vector &p) override {print("setlinewidth", p);} - void setmatrix (vector &p) override {print("setmatrix", p);} - void setmiterlimit (vector &p) override {print("setmiterlimit", p);} - void setnulldevice (vector &p) override {print("setnulldevice", p);} - void setopacityalpha (vector &p) override {print("setopacityalpha", p);} - void setshapealpha (vector &p) override {print("setshapealpha", p);} - void setrgbcolor (vector &p) override {print("setrgbcolor", p);} - void shfill (vector &p) override {print("shfill", p);} - void stroke (vector &p) override {print("stroke", p);} - void translate (vector &p) override {print("translate", p);} + void applyscalevals (vector &p) override {print("applyscalevals", p);} + void clip (vector &p) override {print("clip", p);} + void clippath (vector &p) override {print("clippath", p);} + void closepath (vector &p) override {print("closepath", p);} + void curveto (vector &p) override {print("curveto", p);} + void eoclip (vector &p) override {print("eoclip", p);} + void eofill (vector &p) override {print("eofill", p);} + void fill (vector &p) override {print("fill", p);} + void gsave (vector &p) override {print("gsave", p);} + void grestore (vector &p) override {print("grestore", p);} + void grestoreall (std::vector &p) override {print("grestoreall", p);} + void image (std::vector &p) override {print("image", p);} + void initclip (vector &p) override {print("initclip", p);} + void lineto (vector &p) override {print("lineto", p);} + void moveto (vector &p) override {print("moveto", p);} + void makepattern (vector &p) override {print("makepattern", p);} + void setpattern (vector &p) override {print("setpattern", p);} + void setpagedevice (vector &p) override {print("setpagedevice", p);} + void newpath (vector &p) override {print("newpath", p);} + void querypos (vector &p) override {print("querypos", p);} + void restore(std::vector &p) override {print("restore", p);} + void rotate (vector &p) override {print("rotate", p);} + void save(std::vector &p) override {print("save", p);} + void scale (vector &p) override {print("scale", p);} + void setblendmode (vector &p) override {print("setblendmode", p);} + void setcolorspace (vector &p) override {print("setcolorspace", p);} + void setcmykcolor (vector &p) override {print("setcmykcolor", p);} + void setdash (vector &p) override {print("setdash", p);} + void setfillconstantalpha (vector &p) override {print("setfillconstantalpha", p);} + void setgray (vector &p) override {print("setgray", p);} + void sethsbcolor (vector &p) override {print("sethsbcolor", p);} + void setisshapealpha (vector &p) override {print("setisshapealpha", p);} + void setlinecap (vector &p) override {print("setlinecap", p);} + void setlinejoin (vector &p) override {print("setlinejoin", p);} + void setlinewidth (vector &p) override {print("setlinewidth", p);} + void setmatrix (vector &p) override {print("setmatrix", p);} + void setmiterlimit (vector &p) override {print("setmiterlimit", p);} + void setnulldevice (vector &p) override {print("setnulldevice", p);} + void setrgbcolor (vector &p) override {print("setrgbcolor", p);} + void setstrokeconstantalpha (vector &p) override {print("setstrokeconstantalpha", p);} + void shfill (vector &p) override {print("shfill", p);} + void stroke (vector &p) override {print("stroke", p);} + void translate (vector &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 subfonts; + vector 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, -- cgit v1.2.3