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