string_tests.cpp (1053B)
1 // SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 #include "common/string_util.h" 5 #include <gtest/gtest.h> 6 7 TEST(StringUtil, Ellipsise) 8 { 9 ASSERT_EQ(StringUtil::Ellipsise("HelloWorld", 6, "..."), "Hel..."); 10 ASSERT_EQ(StringUtil::Ellipsise("HelloWorld", 7, ".."), "Hello.."); 11 ASSERT_EQ(StringUtil::Ellipsise("HelloWorld", 20, ".."), "HelloWorld"); 12 ASSERT_EQ(StringUtil::Ellipsise("", 20, "..."), ""); 13 ASSERT_EQ(StringUtil::Ellipsise("Hello", 10, "..."), "Hello"); 14 } 15 16 TEST(StringUtil, EllipsiseInPlace) 17 { 18 std::string s; 19 s = "HelloWorld"; 20 StringUtil::EllipsiseInPlace(s, 6, "..."); 21 ASSERT_EQ(s, "Hel..."); 22 s = "HelloWorld"; 23 StringUtil::EllipsiseInPlace(s, 7, ".."); 24 ASSERT_EQ(s, "Hello.."); 25 s = "HelloWorld"; 26 StringUtil::EllipsiseInPlace(s, 20, ".."); 27 ASSERT_EQ(s, "HelloWorld"); 28 s = ""; 29 StringUtil::EllipsiseInPlace(s, 20, "..."); 30 ASSERT_EQ(s, ""); 31 s = "Hello"; 32 StringUtil::EllipsiseInPlace(s, 10, "..."); 33 ASSERT_EQ(s, "Hello"); 34 }