xref: /aosp_15_r20/external/libchrome/base/android/jni_string_unittest.cc (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker #include "base/android/jni_string.h"
6*635a8641SAndroid Build Coastguard Worker 
7*635a8641SAndroid Build Coastguard Worker #include "base/android/jni_android.h"
8*635a8641SAndroid Build Coastguard Worker #include "base/android/scoped_java_ref.h"
9*635a8641SAndroid Build Coastguard Worker #include "base/strings/utf_string_conversions.h"
10*635a8641SAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h"
11*635a8641SAndroid Build Coastguard Worker 
12*635a8641SAndroid Build Coastguard Worker namespace base {
13*635a8641SAndroid Build Coastguard Worker namespace android {
14*635a8641SAndroid Build Coastguard Worker 
TEST(JniString,BasicConversionsUTF8)15*635a8641SAndroid Build Coastguard Worker TEST(JniString, BasicConversionsUTF8) {
16*635a8641SAndroid Build Coastguard Worker   const std::string kSimpleString = "SimpleTest8";
17*635a8641SAndroid Build Coastguard Worker   JNIEnv* env = AttachCurrentThread();
18*635a8641SAndroid Build Coastguard Worker   std::string result =
19*635a8641SAndroid Build Coastguard Worker       ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kSimpleString));
20*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(kSimpleString, result);
21*635a8641SAndroid Build Coastguard Worker }
22*635a8641SAndroid Build Coastguard Worker 
TEST(JniString,BasicConversionsUTF16)23*635a8641SAndroid Build Coastguard Worker TEST(JniString, BasicConversionsUTF16) {
24*635a8641SAndroid Build Coastguard Worker   const string16 kSimpleString = UTF8ToUTF16("SimpleTest16");
25*635a8641SAndroid Build Coastguard Worker   JNIEnv* env = AttachCurrentThread();
26*635a8641SAndroid Build Coastguard Worker   string16 result =
27*635a8641SAndroid Build Coastguard Worker       ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kSimpleString));
28*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(kSimpleString, result);
29*635a8641SAndroid Build Coastguard Worker }
30*635a8641SAndroid Build Coastguard Worker 
TEST(JniString,EmptyConversionUTF8)31*635a8641SAndroid Build Coastguard Worker TEST(JniString, EmptyConversionUTF8) {
32*635a8641SAndroid Build Coastguard Worker   const std::string kEmptyString = "";
33*635a8641SAndroid Build Coastguard Worker   JNIEnv* env = AttachCurrentThread();
34*635a8641SAndroid Build Coastguard Worker   std::string result =
35*635a8641SAndroid Build Coastguard Worker       ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kEmptyString));
36*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(kEmptyString, result);
37*635a8641SAndroid Build Coastguard Worker }
38*635a8641SAndroid Build Coastguard Worker 
TEST(JniString,EmptyConversionUTF16)39*635a8641SAndroid Build Coastguard Worker TEST(JniString, EmptyConversionUTF16) {
40*635a8641SAndroid Build Coastguard Worker   const string16 kEmptyString = UTF8ToUTF16("");
41*635a8641SAndroid Build Coastguard Worker   JNIEnv* env = AttachCurrentThread();
42*635a8641SAndroid Build Coastguard Worker   string16 result =
43*635a8641SAndroid Build Coastguard Worker       ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kEmptyString));
44*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(kEmptyString, result);
45*635a8641SAndroid Build Coastguard Worker }
46*635a8641SAndroid Build Coastguard Worker 
47*635a8641SAndroid Build Coastguard Worker }  // namespace android
48*635a8641SAndroid Build Coastguard Worker }  // namespace base
49