1 // Copyright (c) 2011 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.
5 #include "gpu/config/gpu_util.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 #include "ui/gl/gl_switches.h"
11 TEST(GpuUtilTest
, GpuSwitchingOptionFromString
) {
12 // Test StringToGpuSwitchingOption.
13 EXPECT_EQ(StringToGpuSwitchingOption(
14 switches::kGpuSwitchingOptionNameAutomatic
),
15 GPU_SWITCHING_OPTION_AUTOMATIC
);
16 EXPECT_EQ(StringToGpuSwitchingOption(
17 switches::kGpuSwitchingOptionNameForceDiscrete
),
18 GPU_SWITCHING_OPTION_FORCE_DISCRETE
);
19 EXPECT_EQ(StringToGpuSwitchingOption(
20 switches::kGpuSwitchingOptionNameForceIntegrated
),
21 GPU_SWITCHING_OPTION_FORCE_INTEGRATED
);
22 EXPECT_EQ(StringToGpuSwitchingOption("xxx"), GPU_SWITCHING_OPTION_UNKNOWN
);
25 TEST(GpuUtilTest
, GpuSwitchingOptionToString
) {
26 // Test GpuSwitchingOptionToString.
28 GpuSwitchingOptionToString(GPU_SWITCHING_OPTION_AUTOMATIC
).c_str(),
29 switches::kGpuSwitchingOptionNameAutomatic
);
31 GpuSwitchingOptionToString(GPU_SWITCHING_OPTION_FORCE_DISCRETE
).c_str(),
32 switches::kGpuSwitchingOptionNameForceDiscrete
);
34 GpuSwitchingOptionToString(GPU_SWITCHING_OPTION_FORCE_INTEGRATED
).c_str(),
35 switches::kGpuSwitchingOptionNameForceIntegrated
);
38 TEST(GpuUtilTest
, MergeFeatureSets
) {
40 // Merge two empty sets.
43 EXPECT_TRUE(dst
.empty());
44 MergeFeatureSets(&dst
, src
);
45 EXPECT_TRUE(dst
.empty());
48 // Merge an empty set into a set with elements.
52 EXPECT_EQ(1u, dst
.size());
53 MergeFeatureSets(&dst
, src
);
54 EXPECT_EQ(1u, dst
.size());
57 // Merge two sets where the source elements are already in the target set.
62 EXPECT_EQ(1u, dst
.size());
63 MergeFeatureSets(&dst
, src
);
64 EXPECT_EQ(1u, dst
.size());
67 // Merge two sets with different elements.
72 EXPECT_EQ(1u, dst
.size());
73 MergeFeatureSets(&dst
, src
);
74 EXPECT_EQ(2u, dst
.size());