| Index: chrome/browser/chromeos/drive/job_queue_unittest.cc
|
| diff --git a/chrome/browser/chromeos/drive/job_queue_unittest.cc b/chrome/browser/chromeos/drive/job_queue_unittest.cc
|
| index d02a31d28b6aff8014ce447b218c4220874e5388..08d2ced1322b4d0ecc8b3e255316f0a1e591e56d 100644
|
| --- a/chrome/browser/chromeos/drive/job_queue_unittest.cc
|
| +++ b/chrome/browser/chromeos/drive/job_queue_unittest.cc
|
| @@ -66,4 +66,39 @@ TEST(JobQueueTest, BasicJobQueueOperations) {
|
| EXPECT_EQ(105, id);
|
| }
|
|
|
| +TEST(JobQueueTest, JobQueueRemove) {
|
| + const int kNumMaxConcurrentJobs = 3;
|
| + const int kNumPriorityLevels = 2;
|
| + enum {HIGH_PRIORITY, LOW_PRIORITY};
|
| +
|
| + // Create a queue. Number of jobs are initially zero.
|
| + JobQueue queue(kNumMaxConcurrentJobs, kNumPriorityLevels);
|
| + EXPECT_EQ(0U, queue.GetNumberOfJobs());
|
| +
|
| + // Push 4 jobs.
|
| + queue.Push(101, LOW_PRIORITY);
|
| + queue.Push(102, HIGH_PRIORITY);
|
| + queue.Push(103, LOW_PRIORITY);
|
| + queue.Push(104, HIGH_PRIORITY);
|
| + EXPECT_EQ(4U, queue.GetNumberOfJobs());
|
| +
|
| + // Remove 2.
|
| + queue.Remove(101);
|
| + queue.Remove(104);
|
| + EXPECT_EQ(2U, queue.GetNumberOfJobs());
|
| +
|
| + // Pop the 2 jobs.
|
| + JobID id;
|
| + EXPECT_TRUE(queue.PopForRun(LOW_PRIORITY, &id));
|
| + EXPECT_EQ(102, id);
|
| + EXPECT_TRUE(queue.PopForRun(LOW_PRIORITY, &id));
|
| + EXPECT_EQ(103, id);
|
| + queue.MarkFinished(102);
|
| + queue.MarkFinished(103);
|
| +
|
| + // 0 job left.
|
| + EXPECT_EQ(0U, queue.GetNumberOfJobs());
|
| + EXPECT_FALSE(queue.PopForRun(LOW_PRIORITY, &id));
|
| +}
|
| +
|
| } // namespace drive
|
|
|