jni_string_unittest.cc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright (c) 2012 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/jni_string.h"
  5. #include "base/android/jni_android.h"
  6. #include "base/android/scoped_java_ref.h"
  7. #include "base/strings/utf_string_conversions.h"
  8. #include "testing/gtest/include/gtest/gtest.h"
  9. namespace base {
  10. namespace android {
  11. TEST(JniString, BasicConversionsUTF8) {
  12. const std::string kSimpleString = "SimpleTest8";
  13. JNIEnv* env = AttachCurrentThread();
  14. std::string result =
  15. ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kSimpleString));
  16. EXPECT_EQ(kSimpleString, result);
  17. }
  18. TEST(JniString, BasicConversionsUTF16) {
  19. const std::u16string kSimpleString = u"SimpleTest16";
  20. JNIEnv* env = AttachCurrentThread();
  21. std::u16string result =
  22. ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kSimpleString));
  23. EXPECT_EQ(kSimpleString, result);
  24. }
  25. TEST(JniString, EmptyConversionUTF8) {
  26. const std::string kEmptyString;
  27. JNIEnv* env = AttachCurrentThread();
  28. std::string result =
  29. ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kEmptyString));
  30. EXPECT_EQ(kEmptyString, result);
  31. }
  32. TEST(JniString, EmptyConversionUTF16) {
  33. const std::u16string kEmptyString;
  34. JNIEnv* env = AttachCurrentThread();
  35. std::u16string result =
  36. ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kEmptyString));
  37. EXPECT_EQ(kEmptyString, result);
  38. }
  39. } // namespace android
  40. } // namespace base