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 "net/quic/quic_http_utils.h"
6
7#include "testing/gtest/include/gtest/gtest.h"
8
9namespace net {
10namespace test {
11
12TEST(QuicHttpUtilsTest, ConvertRequestPriorityToQuicPriority) {
13  EXPECT_EQ(0u, ConvertRequestPriorityToQuicPriority(HIGHEST));
14  EXPECT_EQ(1u, ConvertRequestPriorityToQuicPriority(MEDIUM));
15  EXPECT_EQ(2u, ConvertRequestPriorityToQuicPriority(LOW));
16  EXPECT_EQ(3u, ConvertRequestPriorityToQuicPriority(LOWEST));
17  EXPECT_EQ(4u, ConvertRequestPriorityToQuicPriority(IDLE));
18}
19
20TEST(QuicHttpUtilsTest, ConvertQuicPriorityToRequestPriority) {
21  EXPECT_EQ(HIGHEST, ConvertQuicPriorityToRequestPriority(0));
22  EXPECT_EQ(MEDIUM, ConvertQuicPriorityToRequestPriority(1));
23  EXPECT_EQ(LOW, ConvertQuicPriorityToRequestPriority(2));
24  EXPECT_EQ(LOWEST, ConvertQuicPriorityToRequestPriority(3));
25  EXPECT_EQ(IDLE, ConvertQuicPriorityToRequestPriority(4));
26  // These are invalid values, but we should still handle them
27  // gracefully. TODO(rtenneti): should we test for all possible values of
28  // uint32?
29  for (int i = 5; i < kuint8max; ++i) {
30    EXPECT_EQ(IDLE, ConvertQuicPriorityToRequestPriority(i));
31  }
32}
33
34}  // namespace test
35}  // namespace net
36