Chromium Code Reviews| Index: base/sequence_and_task_token_unittest.cc |
| diff --git a/base/sequence_token_unittest.cc b/base/sequence_and_task_token_unittest.cc |
| similarity index 43% |
| rename from base/sequence_token_unittest.cc |
| rename to base/sequence_and_task_token_unittest.cc |
| index ff8725e02f330c1508e03600075be134f75123fd..5e82d82f7b1fa6d06050769e18bd3adcefb32c55 100644 |
| --- a/base/sequence_token_unittest.cc |
| +++ b/base/sequence_and_task_token_unittest.cc |
| @@ -2,7 +2,7 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "base/sequence_token.h" |
| +#include "base/sequence_and_task_token.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| @@ -53,8 +53,8 @@ TEST(SequenceTokenTest, GetForCurrentThread) { |
| EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid()); |
| { |
| - ScopedSetSequenceTokenForCurrentThread |
| - scoped_set_sequence_token_for_current_thread(token); |
| + ScopedSetSequenceAndTaskTokenForCurrentThread |
| + scoped_set_sequence_and_task_token_for_current_thread(token); |
| EXPECT_TRUE(SequenceToken::GetForCurrentThread().IsValid()); |
| EXPECT_EQ(token, SequenceToken::GetForCurrentThread()); |
| } |
| @@ -62,4 +62,64 @@ TEST(SequenceTokenTest, GetForCurrentThread) { |
| EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid()); |
| } |
| +// Expect a default-constructed TaskToken to be invalid and not equal to |
| +// another invalid TaskToken. |
| +TEST(TaskTokenTest, InvalidDefaultConstructed) { |
| + EXPECT_FALSE(TaskToken().IsValid()); |
| + EXPECT_NE(TaskToken(), TaskToken()); |
| +} |
| + |
| +// Expect a TaskToken returned by TaskToken::GetForCurrentThread() outside the |
| +// scope of a ScopedSetSequenceAndTaskTokenForCurrentThread to be invalid. |
| +TEST(TaskTokenTest, InvalidOutsideScope) { |
| + EXPECT_FALSE(TaskToken::GetForCurrentThread().IsValid()); |
| +} |
| + |
| +// Expect TaskTokens returned by TaskToken::GetForCurrentThread() in the scope |
| +// of the same ScopedSetSequenceAndTaskTokenForCurrentThread instance to be |
| +// valid and equal with each other, but not equal to an invalid TaskToken. |
|
gab
2016/08/08 16:34:22
"but not equal to an invalid TaskToken" -- isn't t
fdoray
2016/08/08 17:45:18
Done.
|
| +TEST(TaskTokenTest, EqualInSameScope) { |
| + ScopedSetSequenceAndTaskTokenForCurrentThread |
| + scoped_set_sequence_and_task_token_for_current_thread( |
| + SequenceToken::Create()); |
| + |
| + const TaskToken token_a = TaskToken::GetForCurrentThread(); |
| + const TaskToken token_b = TaskToken::GetForCurrentThread(); |
| + |
| + EXPECT_TRUE(token_a.IsValid()); |
| + EXPECT_TRUE(token_b.IsValid()); |
| + |
| + EXPECT_EQ(token_a, token_b); |
| + EXPECT_NE(token_a, TaskToken()); |
| + EXPECT_NE(token_b, TaskToken()); |
|
gab
2016/08/08 16:34:22
rm last two conditions IMO per above comment
fdoray
2016/08/08 17:45:18
Done.
|
| +} |
| + |
| +// Expect TaskTokens returned by TaskToken::GetForCurrentThread() in the scope |
| +// of different ScopedSetSequenceAndTaskTokenForCurrentThread instances to be |
| +// valid but not equal to each other or to an invalid TaskToken. |
| +TEST(TaskTokenTest, NotEqualInDifferentScopes) { |
| + TaskToken token_a; |
| + TaskToken token_b; |
| + |
| + { |
| + ScopedSetSequenceAndTaskTokenForCurrentThread |
| + scoped_set_sequence_and_task_token_for_current_thread( |
| + SequenceToken::Create()); |
| + token_a = TaskToken::GetForCurrentThread(); |
| + } |
| + { |
| + ScopedSetSequenceAndTaskTokenForCurrentThread |
| + scoped_set_sequence_and_task_token_for_current_thread( |
| + SequenceToken::Create()); |
| + token_b = TaskToken::GetForCurrentThread(); |
| + } |
| + |
| + EXPECT_TRUE(token_a.IsValid()); |
| + EXPECT_TRUE(token_b.IsValid()); |
| + |
| + EXPECT_NE(token_a, token_b); |
| + EXPECT_NE(token_a, TaskToken()); |
| + EXPECT_NE(token_b, TaskToken()); |
|
gab
2016/08/08 16:34:22
ditto
fdoray
2016/08/08 17:45:18
Done.
|
| +} |
| + |
| } // namespace base |