unguessable_token_android_unittest.cc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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
  3. // found in the LICENSE file.
  4. #include "base/android/unguessable_token_android.h"
  5. #include "base/android/jni_android.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace base {
  8. namespace android {
  9. TEST(UnguessableTokenAndroid, BasicCreateToken) {
  10. JNIEnv* env = AttachCurrentThread();
  11. uint64_t high = 0x1234567812345678;
  12. uint64_t low = 0x0583503029282304;
  13. base::UnguessableToken token = base::UnguessableToken::Deserialize(high, low);
  14. ScopedJavaLocalRef<jobject> jtoken =
  15. UnguessableTokenAndroid::Create(env, token);
  16. base::UnguessableToken result =
  17. UnguessableTokenAndroid::FromJavaUnguessableToken(env, jtoken);
  18. EXPECT_EQ(token, result);
  19. }
  20. TEST(UnguessableTokenAndroid, ParcelAndUnparcel) {
  21. JNIEnv* env = AttachCurrentThread();
  22. uint64_t high = 0x1234567812345678;
  23. uint64_t low = 0x0583503029282304;
  24. base::UnguessableToken token = base::UnguessableToken::Deserialize(high, low);
  25. ScopedJavaLocalRef<jobject> jtoken =
  26. UnguessableTokenAndroid::Create(env, token);
  27. ScopedJavaLocalRef<jobject> jtoken_clone =
  28. UnguessableTokenAndroid::ParcelAndUnparcelForTesting(env, jtoken);
  29. base::UnguessableToken token_clone =
  30. UnguessableTokenAndroid::FromJavaUnguessableToken(env, jtoken_clone);
  31. EXPECT_EQ(token, token_clone);
  32. }
  33. } // namespace android
  34. } // namespace base