1 // Copyright 2022 The ChromiumOS Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <gtest/gtest.h>
6
7 #include "include/string_util.h"
8
9 #include <string>
10 #include <vector>
11
12 namespace gestures {
13
14 class StringUtilTest : public ::testing::Test {};
15
TEST(StringUtilTest,StringPrintfTest)16 TEST(StringUtilTest, StringPrintfTest) {
17 const char *pstr =
18 "0123456789012345678901234567890123456789012345678901234567890123456789";
19 std::string str = StringPrintf(
20 " %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ",
21 pstr, pstr, pstr, pstr, pstr,
22 pstr, pstr, pstr, pstr, pstr,
23 pstr, pstr, pstr, pstr, pstr
24 );
25 int expected_length = (70*15)+15+1;
26 EXPECT_EQ(str.size(), expected_length);
27 }
28
TEST(StringUtilTest,TrimWhitespaceASCIITest)29 TEST(StringUtilTest, TrimWhitespaceASCIITest) {
30 EXPECT_EQ(TrimWhitespaceASCII(""), "");
31 EXPECT_EQ(TrimWhitespaceASCII(" x "), "x");
32 EXPECT_EQ(TrimWhitespaceASCII("badger"), "badger");
33 EXPECT_EQ(TrimWhitespaceASCII("badger "), "badger");
34 EXPECT_EQ(TrimWhitespaceASCII(" badger"), "badger");
35 EXPECT_EQ(TrimWhitespaceASCII(" \t \n\r "), "");
36 EXPECT_EQ(TrimWhitespaceASCII(" Bees and ponies "), "Bees and ponies");
37 }
38
39 } // namespace gestures
40