OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/sequence_token.h" | 5 #include "base/sequence_token.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace base { | 9 namespace base { |
10 | 10 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 { | 55 { |
56 ScopedSetSequenceTokenForCurrentThread | 56 ScopedSetSequenceTokenForCurrentThread |
57 scoped_set_sequence_token_for_current_thread(token); | 57 scoped_set_sequence_token_for_current_thread(token); |
58 EXPECT_TRUE(SequenceToken::GetForCurrentThread().IsValid()); | 58 EXPECT_TRUE(SequenceToken::GetForCurrentThread().IsValid()); |
59 EXPECT_EQ(token, SequenceToken::GetForCurrentThread()); | 59 EXPECT_EQ(token, SequenceToken::GetForCurrentThread()); |
60 } | 60 } |
61 | 61 |
62 EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid()); | 62 EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid()); |
63 } | 63 } |
64 | 64 |
| 65 TEST(SequenceTokenTest, ToInternalValue) { |
| 66 const SequenceToken token1 = SequenceToken::Create(); |
| 67 const SequenceToken token2 = SequenceToken::Create(); |
| 68 |
| 69 // Confirm that internal values are unique. |
| 70 EXPECT_NE(token1.ToInternalValue(), token2.ToInternalValue()); |
| 71 } |
| 72 |
65 // Expect a default-constructed TaskToken to be invalid and not equal to | 73 // Expect a default-constructed TaskToken to be invalid and not equal to |
66 // another invalid TaskToken. | 74 // another invalid TaskToken. |
67 TEST(TaskTokenTest, InvalidDefaultConstructed) { | 75 TEST(TaskTokenTest, InvalidDefaultConstructed) { |
68 EXPECT_FALSE(TaskToken().IsValid()); | 76 EXPECT_FALSE(TaskToken().IsValid()); |
69 EXPECT_NE(TaskToken(), TaskToken()); | 77 EXPECT_NE(TaskToken(), TaskToken()); |
70 } | 78 } |
71 | 79 |
72 // Expect a TaskToken returned by TaskToken::GetForCurrentThread() outside the | 80 // Expect a TaskToken returned by TaskToken::GetForCurrentThread() outside the |
73 // scope of a ScopedSetSequenceTokenForCurrentThread to be invalid. | 81 // scope of a ScopedSetSequenceTokenForCurrentThread to be invalid. |
74 TEST(TaskTokenTest, InvalidOutsideScope) { | 82 TEST(TaskTokenTest, InvalidOutsideScope) { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 scoped_set_sequence_token_for_current_thread(SequenceToken::Create()); | 124 scoped_set_sequence_token_for_current_thread(SequenceToken::Create()); |
117 token_b = TaskToken::GetForCurrentThread(); | 125 token_b = TaskToken::GetForCurrentThread(); |
118 } | 126 } |
119 | 127 |
120 EXPECT_TRUE(token_a.IsValid()); | 128 EXPECT_TRUE(token_a.IsValid()); |
121 EXPECT_TRUE(token_b.IsValid()); | 129 EXPECT_TRUE(token_b.IsValid()); |
122 EXPECT_NE(token_a, token_b); | 130 EXPECT_NE(token_a, token_b); |
123 } | 131 } |
124 | 132 |
125 } // namespace base | 133 } // namespace base |
OLD | NEW |