Index: base/task_scheduler/sequence_sort_key_unittest.cc |
diff --git a/base/task_scheduler/sequence_sort_key_unittest.cc b/base/task_scheduler/sequence_sort_key_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8a6b4851ed4a22a0a807d6f485c2a9e7683a7f4b |
--- /dev/null |
+++ b/base/task_scheduler/sequence_sort_key_unittest.cc |
@@ -0,0 +1,72 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/task_scheduler/sequence_sort_key.h" |
+ |
+#include "base/task_scheduler/task_traits.h" |
+#include "base/time/time.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace base { |
+namespace task_scheduler { |
+ |
+TEST(TaskSchedulerSequenceSortKeyTest, Comparison) { |
+ SequenceSortKey key_a(TaskPriority::USER_BLOCKING, |
+ TimeTicks::FromInternalValue(0)); |
+ SequenceSortKey key_b(TaskPriority::USER_BLOCKING, |
+ TimeTicks::FromInternalValue(1)); |
+ SequenceSortKey key_c(TaskPriority::USER_VISIBLE, |
+ TimeTicks::FromInternalValue(0)); |
+ SequenceSortKey key_d(TaskPriority::USER_VISIBLE, |
+ TimeTicks::FromInternalValue(1)); |
+ SequenceSortKey key_e(TaskPriority::BACKGROUND, |
+ TimeTicks::FromInternalValue(0)); |
+ SequenceSortKey key_f(TaskPriority::BACKGROUND, |
+ TimeTicks::FromInternalValue(1)); |
+ |
+ EXPECT_FALSE(key_a < key_a); |
+ EXPECT_LT(key_b, key_a); |
+ EXPECT_LT(key_c, key_a); |
+ EXPECT_LT(key_d, key_a); |
+ EXPECT_LT(key_e, key_a); |
+ EXPECT_LT(key_f, key_a); |
+ |
+ EXPECT_FALSE(key_a < key_b); |
+ EXPECT_FALSE(key_b < key_b); |
+ EXPECT_LT(key_c, key_b); |
+ EXPECT_LT(key_d, key_b); |
+ EXPECT_LT(key_e, key_b); |
+ EXPECT_LT(key_f, key_b); |
+ |
+ EXPECT_FALSE(key_a < key_c); |
+ EXPECT_FALSE(key_b < key_c); |
+ EXPECT_FALSE(key_c < key_c); |
+ EXPECT_LT(key_d, key_c); |
+ EXPECT_LT(key_e, key_c); |
+ EXPECT_LT(key_f, key_c); |
+ |
+ EXPECT_FALSE(key_a < key_d); |
+ EXPECT_FALSE(key_b < key_d); |
+ EXPECT_FALSE(key_c < key_d); |
+ EXPECT_FALSE(key_d < key_d); |
+ EXPECT_LT(key_e, key_d); |
+ EXPECT_LT(key_f, key_d); |
+ |
+ EXPECT_FALSE(key_a < key_e); |
+ EXPECT_FALSE(key_b < key_e); |
+ EXPECT_FALSE(key_c < key_e); |
+ EXPECT_FALSE(key_d < key_e); |
+ EXPECT_FALSE(key_e < key_e); |
+ EXPECT_LT(key_f, key_e); |
+ |
+ EXPECT_FALSE(key_a < key_f); |
+ EXPECT_FALSE(key_b < key_f); |
+ EXPECT_FALSE(key_c < key_f); |
+ EXPECT_FALSE(key_d < key_f); |
+ EXPECT_FALSE(key_e < key_f); |
+ EXPECT_FALSE(key_f < key_f); |
+} |
+ |
+} // namespace task_scheduler |
+} // namespace base |