| Index: test/cctest/test-unbound-queue.cc | 
| diff --git a/test/cctest/test-unbound-queue.cc b/test/cctest/test-unbound-queue.cc | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..df5509ef87fe38be70c4042c457418f0959ec0e4 | 
| --- /dev/null | 
| +++ b/test/cctest/test-unbound-queue.cc | 
| @@ -0,0 +1,54 @@ | 
| +// Copyright 2010 the V8 project authors. All rights reserved. | 
| +// | 
| +// Tests of the unbound queue. | 
| + | 
| +#include "v8.h" | 
| +#include "unbound-queue-inl.h" | 
| +#include "cctest.h" | 
| + | 
| +namespace i = v8::internal; | 
| + | 
| +using i::UnboundQueue; | 
| + | 
| + | 
| +TEST(SingleRecord) { | 
| +  typedef int Record; | 
| +  UnboundQueue<Record> cq; | 
| +  CHECK(cq.IsEmpty()); | 
| +  cq.Enqueue(1); | 
| +  CHECK(!cq.IsEmpty()); | 
| +  Record rec = 0; | 
| +  cq.Dequeue(&rec); | 
| +  CHECK_EQ(1, rec); | 
| +  CHECK(cq.IsEmpty()); | 
| +} | 
| + | 
| + | 
| +TEST(MultipleRecords) { | 
| +  typedef int Record; | 
| +  UnboundQueue<Record> cq; | 
| +  CHECK(cq.IsEmpty()); | 
| +  cq.Enqueue(1); | 
| +  CHECK(!cq.IsEmpty()); | 
| +  for (int i = 2; i <= 5; ++i) { | 
| +    cq.Enqueue(i); | 
| +    CHECK(!cq.IsEmpty()); | 
| +  } | 
| +  Record rec = 0; | 
| +  for (int i = 1; i <= 4; ++i) { | 
| +    CHECK(!cq.IsEmpty()); | 
| +    cq.Dequeue(&rec); | 
| +    CHECK_EQ(i, rec); | 
| +  } | 
| +  for (int i = 6; i <= 12; ++i) { | 
| +    cq.Enqueue(i); | 
| +    CHECK(!cq.IsEmpty()); | 
| +  } | 
| +  for (int i = 5; i <= 12; ++i) { | 
| +    CHECK(!cq.IsEmpty()); | 
| +    cq.Dequeue(&rec); | 
| +    CHECK_EQ(i, rec); | 
| +  } | 
| +  CHECK(cq.IsEmpty()); | 
| +} | 
| + | 
|  |