summaryrefslogtreecommitdiffstats
path: root/libutils/tests/String8_test.cpp
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@cyngn.com>2016-09-07 13:30:24 -0700
committerJessica Wagantall <jwagantall@cyngn.com>2016-09-07 13:30:24 -0700
commitb58cc75fe8243ca0319d6d6db27a750579e01433 (patch)
tree80b7b6cac8fee1c2cf54316b8912caf29d5de6d0 /libutils/tests/String8_test.cpp
parentc00328f99aad5f1e8e879557f142981f08146fe3 (diff)
parent4cc6d3d4057ef566a87a2e1db2c4c152b52e0765 (diff)
downloadsystem_core-b58cc75fe8243ca0319d6d6db27a750579e01433.tar.gz
system_core-b58cc75fe8243ca0319d6d6db27a750579e01433.tar.bz2
system_core-b58cc75fe8243ca0319d6d6db27a750579e01433.zip
Merge tag 'android-6.0.1_r66' into HEAD
Android 6.0.1 release 66 Change-Id: I5ccc6e68283e30b8d0419eb7512c7183e58ec5ed
Diffstat (limited to 'libutils/tests/String8_test.cpp')
-rw-r--r--libutils/tests/String8_test.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/libutils/tests/String8_test.cpp b/libutils/tests/String8_test.cpp
index c42c68dce..7cd67d314 100644
--- a/libutils/tests/String8_test.cpp
+++ b/libutils/tests/String8_test.cpp
@@ -17,6 +17,7 @@
#define LOG_TAG "String8_test"
#include <utils/Log.h>
#include <utils/String8.h>
+#include <utils/String16.h>
#include <gtest/gtest.h>
@@ -72,4 +73,22 @@ TEST_F(String8Test, OperatorPlusEquals) {
EXPECT_STREQ(src3, " Verify me.");
}
+// http://b/29250543
+TEST_F(String8Test, CorrectInvalidSurrogate) {
+ // d841d8 is an invalid start for a surrogate pair. Make sure this is handled by ignoring the
+ // first character in the pair and handling the rest correctly.
+ String16 string16(u"\xd841\xd841\xdc41\x0000");
+ String8 string8(string16);
+
+ EXPECT_EQ(4U, string8.length());
+}
+
+TEST_F(String8Test, CheckUtf32Conversion) {
+ // Since bound checks were added, check the conversion can be done without fatal errors.
+ // The utf8 lengths of these are chars are 1 + 2 + 3 + 4 = 10.
+ const char32_t string32[] = U"\x0000007f\x000007ff\x0000911\x0010fffe";
+ String8 string8(string32);
+ EXPECT_EQ(10U, string8.length());
+}
+
}