1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
#include <gtest/gtest.h>
#include <string.h>
#include <opentelemetry/common/string_util.h>
#include "opentelemetry/nostd/string_view.h"
// ------------------------- StringUtil class tests ---------------------------------
using opentelemetry::common::StringUtil;
TEST(StringUtilTest, TrimStringWithIndex)
{
struct
{
const char *input;
const char *expected;
} testcases[] = {{"k1=v1", "k1=v1"}, {"k1=v1,k2=v2, k3=v3", "k1=v1,k2=v2, k3=v3"},
{" k1=v1", "k1=v1"}, {"k1=v1 ", "k1=v1"},
{" k1=v1 ", "k1=v1"}, {" ", ""}};
for (auto &testcase : testcases)
{
EXPECT_EQ(StringUtil::Trim(testcase.input, 0, strlen(testcase.input) - 1), testcase.expected);
}
}
TEST(StringUtilTest, TrimString)
{
struct
{
const char *input;
const char *expected;
} testcases[] = {{"k1=v1", "k1=v1"},
{"k1=v1,k2=v2, k3=v3", "k1=v1,k2=v2, k3=v3"},
{" k1=v1", "k1=v1"},
{"k1=v1 ", "k1=v1"},
{"k1=v1\t", "k1=v1"},
{"\t k1=v1 \t", "k1=v1"},
{"\t\t k1=v1\t ", "k1=v1"},
{"\t\t k1=v1\t ,k2=v2", "k1=v1\t ,k2=v2"},
{" k1=v1 ", "k1=v1"},
{" ", ""},
{"", ""},
{"\n_some string_\t", "_some string_"}};
for (auto &testcase : testcases)
{
EXPECT_EQ(StringUtil::Trim(testcase.input), testcase.expected);
}
}
|