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 |