1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// found in the LICENSE file.
4c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "cc/resources/tile_priority.h"
6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "testing/gtest/include/gtest/gtest.h"
7c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochnamespace cc {
9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochTEST(TilePriorityTest, IsHigherPriorityThan) {
11c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority now(HIGH_RESOLUTION, TilePriority::NOW, 0);
12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority close_soon(HIGH_RESOLUTION, TilePriority::SOON, 1);
13c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority far_soon(HIGH_RESOLUTION, TilePriority::SOON, 500);
14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority close_eventually(HIGH_RESOLUTION, TilePriority::EVENTUALLY, 2);
15c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority far_eventually(HIGH_RESOLUTION, TilePriority::EVENTUALLY, 1000);
16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  TilePriority non_ideal_now(NON_IDEAL_RESOLUTION, TilePriority::NOW, 0);
17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(now.IsHigherPriorityThan(now));
19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(now.IsHigherPriorityThan(non_ideal_now));
20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
21c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(now.IsHigherPriorityThan(close_soon));
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(now.IsHigherPriorityThan(far_soon));
23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(now.IsHigherPriorityThan(close_eventually));
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(now.IsHigherPriorityThan(far_eventually));
25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(close_soon.IsHigherPriorityThan(far_soon));
26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(close_soon.IsHigherPriorityThan(close_eventually));
27c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(close_soon.IsHigherPriorityThan(far_eventually));
28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(far_soon.IsHigherPriorityThan(close_eventually));
29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(far_soon.IsHigherPriorityThan(far_eventually));
30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_TRUE(close_eventually.IsHigherPriorityThan(far_eventually));
31c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
32c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(close_eventually));
33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(far_soon));
34c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(close_soon));
35c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(now));
36c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(non_ideal_now));
37c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(far_soon));
38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(close_soon));
39c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(now));
40c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_soon.IsHigherPriorityThan(close_soon));
41c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(far_soon.IsHigherPriorityThan(now));
42c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  EXPECT_FALSE(close_soon.IsHigherPriorityThan(now));
43c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch}
44c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
45c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch}  // namespace cc
46