spdy_http_utils_unittest.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/spdy/spdy_http_utils.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace net { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy2Priority) { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST, 2)); 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM, 2)); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW, 2)); 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOWEST, 2)); 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(IDLE, 2)); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy3Priority) { 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST, 3)); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM, 3)); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW, 3)); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(LOWEST, 3)); 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(4, ConvertRequestPriorityToSpdyPriority(IDLE, 3)); 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(SpdyHttpUtilsTest, ConvertSpdy2PriorityToRequestPriority) { 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0, 2)); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1, 2)); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2, 2)); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(3, 2)); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // These are invalid values, but we should still handle them 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // gracefully. 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (int i = 4; i < kuint8max; ++i) { 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i, 2)); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(SpdyHttpUtilsTest, ConvertSpdy3PriorityToRequestPriority) { 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0, 3)); 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1, 3)); 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2, 3)); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(LOWEST, ConvertSpdyPriorityToRequestPriority(3, 3)); 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(4, 3)); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // These are invalid values, but we should still handle them 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // gracefully. 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (int i = 5; i < kuint8max; ++i) { 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i, 3)); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(SpdyHttpUtilsTest, ShowHttpHeaderValue){ 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(SPDY_PROXY_AUTH_ORIGIN) 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_FALSE(ShouldShowHttpHeaderValue("proxy-authorization")); 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_TRUE(ShouldShowHttpHeaderValue("accept-encoding")); 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#else 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_TRUE(ShouldShowHttpHeaderValue("proxy-authorization")); 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_TRUE(ShouldShowHttpHeaderValue("accept-encoding")); 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace net 68