OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 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 "chrome/common/gpu_feature_flags.h" | |
6 #include "testing/gtest/include/gtest/gtest.h" | |
7 | |
8 TEST(GpuFeatureFlagsTest, GpuFeatureFlagsBasic) { | |
9 // Test that by default all flags are set to false. | |
10 GpuFeatureFlags flags; | |
11 EXPECT_EQ(flags.flags(), 0u); | |
12 | |
13 // Test SetFlags(). | |
14 GpuFeatureFlags flags2; | |
15 flags2.set_flags(GpuFeatureFlags::kGpuFeatureAcceleratedCompositing | | |
16 GpuFeatureFlags::kGpuFeatureWebgl); | |
17 EXPECT_EQ(flags2.flags(), | |
18 static_cast<uint32>( | |
19 GpuFeatureFlags::kGpuFeatureAcceleratedCompositing | | |
20 GpuFeatureFlags::kGpuFeatureWebgl)); | |
21 | |
22 // Test Combine() is basically OR operation per flag. | |
23 flags.set_flags(GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas); | |
24 flags.Combine(flags2); | |
25 EXPECT_EQ(flags.flags(), | |
26 static_cast<uint32>( | |
27 GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas | | |
28 GpuFeatureFlags::kGpuFeatureAcceleratedCompositing | | |
29 GpuFeatureFlags::kGpuFeatureWebgl)); | |
30 | |
31 // Test the currently supported feature set. | |
32 flags.set_flags(GpuFeatureFlags::kGpuFeatureAll); | |
33 EXPECT_EQ(flags.flags(), | |
34 static_cast<uint32>( | |
35 GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas | | |
36 GpuFeatureFlags::kGpuFeatureAcceleratedCompositing | | |
37 GpuFeatureFlags::kGpuFeatureWebgl | | |
38 GpuFeatureFlags::kGpuFeatureMultisampling)); | |
39 | |
40 // Test StringToGpuFeatureType. | |
41 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("accelerated_2d_canvas"), | |
42 GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas); | |
43 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("accelerated_compositing"), | |
44 GpuFeatureFlags::kGpuFeatureAcceleratedCompositing); | |
45 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("webgl"), | |
46 GpuFeatureFlags::kGpuFeatureWebgl); | |
47 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("multisampling"), | |
48 GpuFeatureFlags::kGpuFeatureMultisampling); | |
49 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("all"), | |
50 GpuFeatureFlags::kGpuFeatureAll); | |
51 EXPECT_EQ(GpuFeatureFlags::StringToGpuFeatureType("xxx"), | |
52 GpuFeatureFlags::kGpuFeatureUnknown); | |
53 } | |
54 | |
OLD | NEW |