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