1 // Copyright 2012 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/android/jni_string.h"
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"
15 TEST(JniString, BasicConversionsUTF8) {
16 const std::string kSimpleString = "SimpleTest8";
17 JNIEnv* env = AttachCurrentThread();
19 ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kSimpleString));
20 EXPECT_EQ(kSimpleString, result);
23 TEST(JniString, BasicConversionsUTF16) {
24 const std::u16string kSimpleString = u"SimpleTest16";
25 JNIEnv* env = AttachCurrentThread();
26 std::u16string result =
27 ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kSimpleString));
28 EXPECT_EQ(kSimpleString, result);
31 TEST(JniString, EmptyConversionUTF8) {
32 const std::string kEmptyString;
33 JNIEnv* env = AttachCurrentThread();
35 ConvertJavaStringToUTF8(ConvertUTF8ToJavaString(env, kEmptyString));
36 EXPECT_EQ(kEmptyString, result);
39 TEST(JniString, EmptyConversionUTF16) {
40 const std::u16string kEmptyString;
41 JNIEnv* env = AttachCurrentThread();
42 std::u16string result =
43 ConvertJavaStringToUTF16(ConvertUTF16ToJavaString(env, kEmptyString));
44 EXPECT_EQ(kEmptyString, result);
47 } // namespace android