Index: base/android/unguessable_token_android_unittest.cc |
diff --git a/base/android/unguessable_token_android_unittest.cc b/base/android/unguessable_token_android_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bdad746d55c64be49c98fba27e19bf5a85d58430 |
--- /dev/null |
+++ b/base/android/unguessable_token_android_unittest.cc |
@@ -0,0 +1,42 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/android/unguessable_token_android.h" |
+ |
+#include "base/android/jni_android.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace base { |
+namespace android { |
+ |
+TEST(UnguessableTokenAndroid, BasicCreateToken) { |
+ JNIEnv* env = AttachCurrentThread(); |
+ uint64_t high = 0x1234567812345678; |
+ uint64_t low = 0x0583503029282304; |
+ base::UnguessableToken token = base::UnguessableToken::Deserialize(high, low); |
+ ScopedJavaLocalRef<jobject> jtoken = |
+ UnguessableTokenAndroid::Create(env, token); |
+ base::UnguessableToken result = |
+ UnguessableTokenAndroid::FromJavaUnguessableToken(env, jtoken); |
+ |
+ EXPECT_EQ(token, result); |
+} |
+ |
+TEST(UnguessableTokenAndroid, ParcelAndUnparcel) { |
+ JNIEnv* env = AttachCurrentThread(); |
+ uint64_t high = 0x1234567812345678; |
+ uint64_t low = 0x0583503029282304; |
+ base::UnguessableToken token = base::UnguessableToken::Deserialize(high, low); |
+ ScopedJavaLocalRef<jobject> jtoken = |
+ UnguessableTokenAndroid::Create(env, token); |
+ ScopedJavaLocalRef<jobject> jtoken_clone = |
+ UnguessableTokenAndroid::ParcelAndUnparcelForTesting(env, jtoken); |
+ base::UnguessableToken token_clone = |
+ UnguessableTokenAndroid::FromJavaUnguessableToken(env, jtoken_clone); |
+ |
+ EXPECT_EQ(token, token_clone); |
+} |
+ |
+} // namespace android |
+} // namespace base |