summaryrefslogtreecommitdiffstats
path: root/chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java')
-rw-r--r--chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java b/chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java
new file mode 100644
index 00000000000..641dabed78e
--- /dev/null
+++ b/chromium/base/android/javatests/src/org/chromium/base/task/SequencedTaskRunnerImplTest.java
@@ -0,0 +1,42 @@
+// Copyright 2018 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.base.task;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
+
+import androidx.test.filters.SmallTest;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.task.SchedulerTestHelpers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Test class for {@link SequencedTaskRunnerImpl}.
+ *
+ * Note due to layering concerns we can't test post native functionality in a
+ * base javatest. Instead see:
+ * content/public/android/javatests/src/org/chromium/content/browser/scheduler/
+ * NativePostTaskTest.java
+ */
+@RunWith(BaseJUnit4ClassRunner.class)
+public class SequencedTaskRunnerImplTest {
+ @Test
+ @SmallTest
+ public void testPreNativeTasksRunInOrder() {
+ TaskRunner taskQueue = new SequencedTaskRunnerImpl(TaskTraits.USER_BLOCKING);
+ List<Integer> orderList = new ArrayList<>();
+ SchedulerTestHelpers.postRecordOrderTask(taskQueue, orderList, 1);
+ SchedulerTestHelpers.postRecordOrderTask(taskQueue, orderList, 2);
+ SchedulerTestHelpers.postRecordOrderTask(taskQueue, orderList, 3);
+ SchedulerTestHelpers.postTaskAndBlockUntilRun(taskQueue);
+ assertThat(orderList, contains(1, 2, 3));
+ }
+}