blob: 39e2f5800ceaae51246f1476c81c74b8a7a2c453 [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "gpu/config/gpu_control_list.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace gpu {
class StringInfoTest : public testing::Test {
public:
StringInfoTest() { }
virtual ~StringInfoTest() { }
typedef GpuControlList::StringInfo StringInfo;
};
TEST_F(StringInfoTest, ValidStringInfo) {
const std::string op[] = {
"contains",
"beginwith",
"endwith",
"="
};
for (size_t i = 0; i < arraysize(op); ++i) {
{
StringInfo info(op[i], std::string());
EXPECT_TRUE(info.IsValid());
}
{
StringInfo info(op[i], "hello");
EXPECT_TRUE(info.IsValid());
}
}
}
TEST_F(StringInfoTest, InvalidStringInfo) {
const std::string op[] = {
"Contains",
"BeginWith",
"EndWith",
" =",
"= "
};
for (size_t i = 0; i < arraysize(op); ++i) {
StringInfo info(op[i], "hello");
EXPECT_FALSE(info.IsValid());
}
}
TEST_F(StringInfoTest, StringComparison) {
{
StringInfo info("contains", "happy");
EXPECT_TRUE(info.Contains("unhappy"));
EXPECT_TRUE(info.Contains("happy1"));
EXPECT_TRUE(info.Contains("happy"));
EXPECT_TRUE(info.Contains("a happy dog"));
EXPECT_TRUE(info.Contains("Happy"));
EXPECT_TRUE(info.Contains("HAPPY"));
EXPECT_FALSE(info.Contains("ha-ppy"));
}
{
StringInfo info("beginwith", "happy");
EXPECT_FALSE(info.Contains("unhappy"));
EXPECT_TRUE(info.Contains("happy1"));
EXPECT_TRUE(info.Contains("happy"));
EXPECT_FALSE(info.Contains("a happy dog"));
EXPECT_TRUE(info.Contains("Happy"));
EXPECT_TRUE(info.Contains("HAPPY"));
EXPECT_FALSE(info.Contains("ha-ppy"));
}
{
StringInfo info("endwith", "happy");
EXPECT_TRUE(info.Contains("unhappy"));
EXPECT_FALSE(info.Contains("happy1"));
EXPECT_TRUE(info.Contains("happy"));
EXPECT_FALSE(info.Contains("a happy dog"));
EXPECT_TRUE(info.Contains("Happy"));
EXPECT_TRUE(info.Contains("HAPPY"));
EXPECT_FALSE(info.Contains("ha-ppy"));
}
{
StringInfo info("=", "happy");
EXPECT_FALSE(info.Contains("unhappy"));
EXPECT_FALSE(info.Contains("happy1"));
EXPECT_TRUE(info.Contains("happy"));
EXPECT_FALSE(info.Contains("a happy dog"));
EXPECT_TRUE(info.Contains("Happy"));
EXPECT_TRUE(info.Contains("HAPPY"));
EXPECT_FALSE(info.Contains("ha-ppy"));
EXPECT_FALSE(info.Contains("ha ppy"));
EXPECT_FALSE(info.Contains(" happy"));
EXPECT_FALSE(info.Contains("happy "));
}
}
} // namespace gpu