|  | // Copyright 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 "base/macros.h" | 
|  | #include "net/cookies/cookie_constants.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace net { | 
|  |  | 
|  | TEST(CookieConstantsTest, TestCookiePriority) { | 
|  | // Basic cases. | 
|  | EXPECT_EQ("low", CookiePriorityToString(COOKIE_PRIORITY_LOW)); | 
|  | EXPECT_EQ("medium", CookiePriorityToString(COOKIE_PRIORITY_MEDIUM)); | 
|  | EXPECT_EQ("high", CookiePriorityToString(COOKIE_PRIORITY_HIGH)); | 
|  |  | 
|  | EXPECT_EQ(COOKIE_PRIORITY_LOW, StringToCookiePriority("low")); | 
|  | EXPECT_EQ(COOKIE_PRIORITY_MEDIUM, StringToCookiePriority("medium")); | 
|  | EXPECT_EQ(COOKIE_PRIORITY_HIGH, StringToCookiePriority("high")); | 
|  |  | 
|  | // Case Insensitivity of StringToCookiePriority(). | 
|  | EXPECT_EQ(COOKIE_PRIORITY_LOW, StringToCookiePriority("LOW")); | 
|  | EXPECT_EQ(COOKIE_PRIORITY_MEDIUM, StringToCookiePriority("Medium")); | 
|  | EXPECT_EQ(COOKIE_PRIORITY_HIGH, StringToCookiePriority("hiGH")); | 
|  |  | 
|  | // Value of default priority. | 
|  | EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, COOKIE_PRIORITY_MEDIUM); | 
|  |  | 
|  | // Numeric values. | 
|  | EXPECT_LT(COOKIE_PRIORITY_LOW, COOKIE_PRIORITY_MEDIUM); | 
|  | EXPECT_LT(COOKIE_PRIORITY_MEDIUM, COOKIE_PRIORITY_HIGH); | 
|  |  | 
|  | // Unrecognized tokens are interpreted as COOKIE_PRIORITY_DEFAULT. | 
|  | const char* const bad_tokens[] = { | 
|  | "", "lo", "lowerest", "high ", " high", "0"}; | 
|  | for (const auto* bad_token : bad_tokens) { | 
|  | EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, StringToCookiePriority(bad_token)); | 
|  | } | 
|  | } | 
|  |  | 
|  | }  // namespace net |