1 // Copyright 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/basictypes.h" 6 #include "net/cookies/cookie_constants.h" 7 #include "testing/gtest/include/gtest/gtest.h" 8 9 namespace net { 10 11 TEST(CookieConstantsTest, TestCookiePriority) { 12 // Basic cases. 13 EXPECT_EQ("low", CookiePriorityToString(COOKIE_PRIORITY_LOW)); 14 EXPECT_EQ("medium", CookiePriorityToString(COOKIE_PRIORITY_MEDIUM)); 15 EXPECT_EQ("high", CookiePriorityToString(COOKIE_PRIORITY_HIGH)); 16 17 EXPECT_EQ(COOKIE_PRIORITY_LOW, StringToCookiePriority("low")); 18 EXPECT_EQ(COOKIE_PRIORITY_MEDIUM, StringToCookiePriority("medium")); 19 EXPECT_EQ(COOKIE_PRIORITY_HIGH, StringToCookiePriority("high")); 20 21 // Case Insensitivity of StringToCookiePriority(). 22 EXPECT_EQ(COOKIE_PRIORITY_LOW, StringToCookiePriority("LOW")); 23 EXPECT_EQ(COOKIE_PRIORITY_MEDIUM, StringToCookiePriority("Medium")); 24 EXPECT_EQ(COOKIE_PRIORITY_HIGH, StringToCookiePriority("hiGH")); 25 26 // Value of default priority. 27 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, COOKIE_PRIORITY_MEDIUM); 28 29 // Numeric values. 30 EXPECT_LT(COOKIE_PRIORITY_LOW, COOKIE_PRIORITY_MEDIUM); 31 EXPECT_LT(COOKIE_PRIORITY_MEDIUM, COOKIE_PRIORITY_HIGH); 32 33 // Unrecognized tokens are interpreted as COOKIE_PRIORITY_DEFAULT. 34 const char* bad_tokens[] = {"", "lo", "lowerest", "high ", " high", "0"}; 35 for (size_t i = 0; i < arraysize(bad_tokens); ++i) { 36 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, StringToCookiePriority(bad_tokens[i])); 37 } 38 } 39 40 } // namespace net 41