1 // Copyright (c) 2012 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 "net/spdy/spdy_http_utils.h"
6
7 #include "base/basictypes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace net {
11
12 namespace {
13
TEST(SpdyHttpUtilsTest,ConvertRequestPriorityToSpdy2Priority)14 TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy2Priority) {
15 EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST, SPDY2));
16 EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM, SPDY2));
17 EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW, SPDY2));
18 EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOWEST, SPDY2));
19 EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(IDLE, SPDY2));
20 }
21
TEST(SpdyHttpUtilsTest,ConvertRequestPriorityToSpdy3Priority)22 TEST(SpdyHttpUtilsTest, ConvertRequestPriorityToSpdy3Priority) {
23 EXPECT_EQ(0, ConvertRequestPriorityToSpdyPriority(HIGHEST, SPDY3));
24 EXPECT_EQ(1, ConvertRequestPriorityToSpdyPriority(MEDIUM, SPDY3));
25 EXPECT_EQ(2, ConvertRequestPriorityToSpdyPriority(LOW, SPDY3));
26 EXPECT_EQ(3, ConvertRequestPriorityToSpdyPriority(LOWEST, SPDY3));
27 EXPECT_EQ(4, ConvertRequestPriorityToSpdyPriority(IDLE, SPDY3));
28 }
29
TEST(SpdyHttpUtilsTest,ConvertSpdy2PriorityToRequestPriority)30 TEST(SpdyHttpUtilsTest, ConvertSpdy2PriorityToRequestPriority) {
31 EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0, SPDY2));
32 EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1, SPDY2));
33 EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2, SPDY2));
34 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(3, SPDY2));
35 // These are invalid values, but we should still handle them
36 // gracefully.
37 for (int i = 4; i < kuint8max; ++i) {
38 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i, SPDY2));
39 }
40 }
41
TEST(SpdyHttpUtilsTest,ConvertSpdy3PriorityToRequestPriority)42 TEST(SpdyHttpUtilsTest, ConvertSpdy3PriorityToRequestPriority) {
43 EXPECT_EQ(HIGHEST, ConvertSpdyPriorityToRequestPriority(0, SPDY3));
44 EXPECT_EQ(MEDIUM, ConvertSpdyPriorityToRequestPriority(1, SPDY3));
45 EXPECT_EQ(LOW, ConvertSpdyPriorityToRequestPriority(2, SPDY3));
46 EXPECT_EQ(LOWEST, ConvertSpdyPriorityToRequestPriority(3, SPDY3));
47 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(4, SPDY3));
48 // These are invalid values, but we should still handle them
49 // gracefully.
50 for (int i = 5; i < kuint8max; ++i) {
51 EXPECT_EQ(IDLE, ConvertSpdyPriorityToRequestPriority(i, SPDY3));
52 }
53 }
54
TEST(SpdyHttpUtilsTest,ShowHttpHeaderValue)55 TEST(SpdyHttpUtilsTest, ShowHttpHeaderValue){
56 #if defined(SPDY_PROXY_AUTH_ORIGIN)
57 EXPECT_FALSE(ShouldShowHttpHeaderValue("proxy-authorization"));
58 EXPECT_TRUE(ShouldShowHttpHeaderValue("accept-encoding"));
59 #else
60 EXPECT_TRUE(ShouldShowHttpHeaderValue("proxy-authorization"));
61 EXPECT_TRUE(ShouldShowHttpHeaderValue("accept-encoding"));
62 #endif
63 }
64
65 } // namespace
66
67 } // namespace net
68