summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp148
1 files changed, 0 insertions, 148 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp
deleted file mode 100644
index 2e8ae696b7d..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/UtilityTest.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*************************************************************************
-** UtilityTest.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 <cmath>
-#include <limits>
-#include <sstream>
-#include "utility.hpp"
-
-using namespace util;
-using namespace std;
-
-
-TEST(UtilityTest, trim) {
- ASSERT_EQ(trim(""), "");
- ASSERT_EQ(trim(" "), "");
- ASSERT_EQ(trim(" \n \t "), "");
- ASSERT_EQ(trim("abcdefg"), "abcdefg");
- ASSERT_EQ(trim(" abcdefg"), "abcdefg");
- ASSERT_EQ(trim("abcdefg "), "abcdefg");
- ASSERT_EQ(trim(" abcdefg "), "abcdefg");
- ASSERT_EQ(trim(" abc defg "), "abc defg");
- ASSERT_EQ(trim(" abc \n defg \n \r"), "abc \n defg");
-}
-
-
-TEST(UtilityTest, normalize_space) {
- ASSERT_EQ(normalize_space(""), "");
- ASSERT_EQ(normalize_space(" "), "");
- ASSERT_EQ(normalize_space(" \n \t "), "");
- ASSERT_EQ(normalize_space("abcdefg"), "abcdefg");
- ASSERT_EQ(normalize_space(" abcdefg"), "abcdefg");
- ASSERT_EQ(normalize_space("abcdefg "), "abcdefg");
- ASSERT_EQ(normalize_space(" abcdefg "), "abcdefg");
- ASSERT_EQ(normalize_space(" abc defg "), "abc defg");
- ASSERT_EQ(normalize_space(" abc \n defg \n \r"), "abc defg");
- ASSERT_EQ(normalize_space(" abc \n de\r\ffg \n \r"), "abc de fg");
-}
-
-
-TEST(UtilityTest, tolower) {
- ASSERT_EQ(tolower(""), "");
- ASSERT_EQ(tolower("abcdefg"), "abcdefg");
- ASSERT_EQ(tolower("ABCDEFG"), "abcdefg");
- ASSERT_EQ(tolower("123XyZ456"), "123xyz456");
- ASSERT_EQ(tolower("123\nXyZ 456"), "123\nxyz 456");
-}
-
-
-TEST(UtilityTest, replace) {
- ASSERT_EQ(replace("abcdebcxyb", "bc", ","), "a,de,xyb");
- ASSERT_EQ(replace("abcdebcxyb", "bc", " : "), "a : de : xyb");
- ASSERT_EQ(replace("abcdebcxyb", "", ","), "abcdebcxyb");
- ASSERT_EQ(replace("abcdebcxyb", "bc", ""), "abcdebcxyb");
- ASSERT_EQ(replace("abcdebcxyb", "b", " B "), "a B cde B cxy B ");
- ASSERT_EQ(replace("", "b", " B "), "");
- ASSERT_EQ(replace("a,b, c ,d , e", " ,", ","), "a,b, c,d, e");
-}
-
-
-TEST(UtilityTest, split) {
- vector<string> parts = split("", ",");
- ASSERT_EQ(parts.size(), 1u);
- EXPECT_EQ(parts[0], "");
-
- parts = split("abcde", "");
- ASSERT_EQ(parts.size(), 1u);
- EXPECT_EQ(parts[0], "abcde");
-
- parts = split("abcde", ",");
- ASSERT_EQ(parts.size(), 1u);
- EXPECT_EQ(parts[0], "abcde");
-
- parts = split("1,2 , 3, 4 ,,5", ",");
- ASSERT_EQ(parts.size(), 6u);
- size_t count=0;
- for (const string &part : {"1", "2 ", " 3", " 4 ", "", "5"}) {
- EXPECT_EQ(parts[count++], part);
- }
-
- parts = split("1 sep2sep3, sep", "sep");
- ASSERT_EQ(parts.size(), 4u);
- count=0;
- for (const string &part : {"1 ", "2", "3, ", ""}) {
- EXPECT_EQ(parts[count++], part);
- }
-}
-
-
-TEST(UtilityTest, ilog10) {
- ASSERT_EQ(ilog10(-10), 0);
- ASSERT_EQ(ilog10(-1), 0);
- ASSERT_EQ(ilog10(0), 0);
- for (int i=1; i <= 1000; i++) {
- ASSERT_EQ(ilog10(i), static_cast<int>(log10(i))) << "i=" << i;
- }
- for (int i=1000; i < numeric_limits<int>::max()/10; i*=10) {
- ASSERT_EQ(ilog10(i-1), static_cast<int>(log10(i-1))) << "i=" << i;
- ASSERT_EQ(ilog10(i), static_cast<int>(log10(i))) << "i=" << i;
- ASSERT_EQ(ilog10(i+1), static_cast<int>(log10(i+1))) << "i=" << i;
- }
-}
-
-
-TEST(UtilityTest, to_string) {
- ASSERT_EQ(util::to_string(0), "0");
- ASSERT_EQ(util::to_string(1), "1");
- ASSERT_EQ(util::to_string(100), "100");
- ASSERT_EQ(util::to_string(-1), "-1");
- ASSERT_EQ(util::to_string(2.123), "2.123");
- ASSERT_EQ(util::to_string(-2.123), "-2.123");
- ASSERT_EQ(util::to_string(1.500e-5), "0.000015");
-}
-
-
-static string base64 (const string &str) {
- istringstream iss(str);
- ostringstream oss;
- base64_copy(istreambuf_iterator<char>(iss), istreambuf_iterator<char>(), ostreambuf_iterator<char>(oss));
- return oss.str();
-}
-
-
-TEST(UtilityTest, base64_copy) {
- ASSERT_EQ(base64(""), "");
- ASSERT_EQ(base64("a"), "YQ==");
- ASSERT_EQ(base64("ab"), "YWI=");
- ASSERT_EQ(base64("abc"), "YWJj");
- ASSERT_EQ(base64("abcd"), "YWJjZA==");
- ASSERT_EQ(base64("aBcDe\nFgHiJ\n"), "YUJjRGUKRmdIaUoK");
-}