Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / base / test / expectations / expectation_unittest.cc
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 "base/test/expectations/expectation.h"
6
7 #include "base/basictypes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 TEST(TestExpectationsFunctionsTest, ResultFromString) {
11   test_expectations::Result result = test_expectations::RESULT_PASS;
12
13   EXPECT_TRUE(ResultFromString("Failure", &result));
14   EXPECT_EQ(test_expectations::RESULT_FAILURE, result);
15
16   EXPECT_TRUE(ResultFromString("Timeout", &result));
17   EXPECT_EQ(test_expectations::RESULT_TIMEOUT, result);
18
19   EXPECT_TRUE(ResultFromString("Crash", &result));
20   EXPECT_EQ(test_expectations::RESULT_CRASH, result);
21
22   EXPECT_TRUE(ResultFromString("Skip", &result));
23   EXPECT_EQ(test_expectations::RESULT_SKIP, result);
24
25   EXPECT_TRUE(ResultFromString("Pass", &result));
26   EXPECT_EQ(test_expectations::RESULT_PASS, result);
27
28   // Case sensitive.
29   EXPECT_FALSE(ResultFromString("failure", &result));
30   EXPECT_EQ(test_expectations::RESULT_PASS, result);
31 }
32
33 TEST(TestExpectationsFunctionsTest, ConfigurationFromString) {
34   test_expectations::Configuration config =
35       test_expectations::CONFIGURATION_UNSPECIFIED;
36
37   EXPECT_TRUE(ConfigurationFromString("Debug", &config));
38   EXPECT_EQ(test_expectations::CONFIGURATION_DEBUG, config);
39
40   EXPECT_TRUE(ConfigurationFromString("Release", &config));
41   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
42
43   EXPECT_FALSE(ConfigurationFromString("NotAConfig", &config));
44   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
45
46   // Case sensitive.
47   EXPECT_FALSE(ConfigurationFromString("debug", &config));
48   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
49 }
50
51 TEST(TestExpectationsFunctionsTest, PlatformFromString) {
52   test_expectations::Platform platform;
53
54   EXPECT_TRUE(PlatformFromString("Win", &platform));
55   EXPECT_EQ("Win", platform.name);
56   EXPECT_EQ("", platform.variant);
57
58   EXPECT_TRUE(PlatformFromString("Mac-10.6", &platform));
59   EXPECT_EQ("Mac", platform.name);
60   EXPECT_EQ("10.6", platform.variant);
61
62   EXPECT_TRUE(PlatformFromString("ChromeOS", &platform));
63   EXPECT_EQ("ChromeOS", platform.name);
64   EXPECT_EQ("", platform.variant);
65
66   EXPECT_TRUE(PlatformFromString("Linux-", &platform));
67   EXPECT_EQ("Linux", platform.name);
68   EXPECT_EQ("", platform.variant);
69
70   EXPECT_FALSE(PlatformFromString("", &platform));
71 }
72
73 TEST(TestExpectationsFunctionsTest, IsValidPlatform) {
74   const char* const kValidPlatforms[] = {
75     "Win",
76     "Win-XP",
77     "Win-Vista",
78     "Win-7",
79     "Win-8",
80     "Mac",
81     "Mac-10.6",
82     "Mac-10.7",
83     "Mac-10.8",
84     "Linux",
85     "Linux-32",
86     "Linux-64",
87     "ChromeOS",
88     "iOS",
89     "Android",
90   };
91
92   const char* const kInvalidPlatforms[] = {
93     "Solaris",
94     "Plan9",
95   };
96
97   for (size_t i = 0; i < arraysize(kValidPlatforms); ++i) {
98     test_expectations::Platform platform;
99     EXPECT_TRUE(test_expectations::PlatformFromString(
100         kValidPlatforms[i], &platform)) << kValidPlatforms[i];
101   }
102
103   for (size_t i = 0; i < arraysize(kInvalidPlatforms); ++i) {
104     test_expectations::Platform platform;
105     EXPECT_FALSE(test_expectations::PlatformFromString(
106         kInvalidPlatforms[i], &platform)) << kInvalidPlatforms[i];
107   }
108 }
109
110 TEST(TestExpectationsFunctionsTest, CurrentPlatform) {
111   test_expectations::Platform current =
112       test_expectations::GetCurrentPlatform();
113   EXPECT_FALSE(current.name.empty());
114 }
115
116 TEST(TestExpectationsFunctionsTest, CurrentConfiguration) {
117   test_expectations::Configuration current =
118       test_expectations::GetCurrentConfiguration();
119   EXPECT_NE(test_expectations::CONFIGURATION_UNSPECIFIED, current);
120 }