Home | History | Annotate | Download | only in config
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      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 "gpu/config/gpu_control_list.h"
      6 #include "testing/gtest/include/gtest/gtest.h"
      7 
      8 namespace gpu {
      9 
     10 class StringInfoTest : public testing::Test {
     11  public:
     12   StringInfoTest() { }
     13   virtual ~StringInfoTest() { }
     14 
     15   typedef GpuControlList::StringInfo StringInfo;
     16 };
     17 
     18 TEST_F(StringInfoTest, ValidStringInfo) {
     19   const std::string op[] = {
     20     "contains",
     21     "beginwith",
     22     "endwith",
     23     "="
     24   };
     25   for (size_t i = 0; i < arraysize(op); ++i) {
     26     {
     27       StringInfo info(op[i], std::string());
     28       EXPECT_TRUE(info.IsValid());
     29     }
     30     {
     31       StringInfo info(op[i], "hello");
     32       EXPECT_TRUE(info.IsValid());
     33     }
     34   }
     35 }
     36 
     37 TEST_F(StringInfoTest, InvalidStringInfo) {
     38   const std::string op[] = {
     39     "Contains",
     40     "BeginWith",
     41     "EndWith",
     42     " =",
     43     "= "
     44   };
     45   for (size_t i = 0; i < arraysize(op); ++i) {
     46     StringInfo info(op[i], "hello");
     47     EXPECT_FALSE(info.IsValid());
     48   }
     49 }
     50 
     51 TEST_F(StringInfoTest, StringComparison) {
     52   {
     53     StringInfo info("contains", "happy");
     54     EXPECT_TRUE(info.Contains("unhappy"));
     55     EXPECT_TRUE(info.Contains("happy1"));
     56     EXPECT_TRUE(info.Contains("happy"));
     57     EXPECT_TRUE(info.Contains("a happy dog"));
     58     EXPECT_TRUE(info.Contains("Happy"));
     59     EXPECT_TRUE(info.Contains("HAPPY"));
     60     EXPECT_FALSE(info.Contains("ha-ppy"));
     61   }
     62   {
     63     StringInfo info("beginwith", "happy");
     64     EXPECT_FALSE(info.Contains("unhappy"));
     65     EXPECT_TRUE(info.Contains("happy1"));
     66     EXPECT_TRUE(info.Contains("happy"));
     67     EXPECT_FALSE(info.Contains("a happy dog"));
     68     EXPECT_TRUE(info.Contains("Happy"));
     69     EXPECT_TRUE(info.Contains("HAPPY"));
     70     EXPECT_FALSE(info.Contains("ha-ppy"));
     71   }
     72   {
     73     StringInfo info("endwith", "happy");
     74     EXPECT_TRUE(info.Contains("unhappy"));
     75     EXPECT_FALSE(info.Contains("happy1"));
     76     EXPECT_TRUE(info.Contains("happy"));
     77     EXPECT_FALSE(info.Contains("a happy dog"));
     78     EXPECT_TRUE(info.Contains("Happy"));
     79     EXPECT_TRUE(info.Contains("HAPPY"));
     80     EXPECT_FALSE(info.Contains("ha-ppy"));
     81   }
     82   {
     83     StringInfo info("=", "happy");
     84     EXPECT_FALSE(info.Contains("unhappy"));
     85     EXPECT_FALSE(info.Contains("happy1"));
     86     EXPECT_TRUE(info.Contains("happy"));
     87     EXPECT_FALSE(info.Contains("a happy dog"));
     88     EXPECT_TRUE(info.Contains("Happy"));
     89     EXPECT_TRUE(info.Contains("HAPPY"));
     90     EXPECT_FALSE(info.Contains("ha-ppy"));
     91     EXPECT_FALSE(info.Contains("ha ppy"));
     92     EXPECT_FALSE(info.Contains(" happy"));
     93     EXPECT_FALSE(info.Contains("happy "));
     94   }
     95 }
     96 
     97 }  // namespace gpu
     98 
     99