1d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// found in the LICENSE file.
4d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
5d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "net/quic/quic_http_utils.h"
6d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
7d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
8d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
9d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)namespace net {
10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)namespace test {
11d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
12d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)TEST(QuicHttpUtilsTest, ConvertRequestPriorityToQuicPriority) {
13d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(0u, ConvertRequestPriorityToQuicPriority(HIGHEST));
14d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(1u, ConvertRequestPriorityToQuicPriority(MEDIUM));
15d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(2u, ConvertRequestPriorityToQuicPriority(LOW));
16d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(3u, ConvertRequestPriorityToQuicPriority(LOWEST));
17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(4u, ConvertRequestPriorityToQuicPriority(IDLE));
18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}
19d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
20d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)TEST(QuicHttpUtilsTest, ConvertQuicPriorityToRequestPriority) {
21d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(HIGHEST, ConvertQuicPriorityToRequestPriority(0));
22d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(MEDIUM, ConvertQuicPriorityToRequestPriority(1));
23d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(LOW, ConvertQuicPriorityToRequestPriority(2));
24d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(LOWEST, ConvertQuicPriorityToRequestPriority(3));
25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  EXPECT_EQ(IDLE, ConvertQuicPriorityToRequestPriority(4));
26d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  // These are invalid values, but we should still handle them
27d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  // gracefully. TODO(rtenneti): should we test for all possible values of
28d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  // uint32?
29d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  for (int i = 5; i < kuint8max; ++i) {
30d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    EXPECT_EQ(IDLE, ConvertQuicPriorityToRequestPriority(i));
31d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  }
32d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}
33d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
34d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}  // namespace test
35d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}  // namespace net
36