duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

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 }