platform_system_core/libutils
Eric Miao c2527073c2 libutils: Add more tests for Unicode
This CL added additional tests for converting between utf16 and utf8,
specifically tests that:

  1. check utf16_to_utf8_length() returns 0 if input is an
     empty UTF16 string

  2. check utf16_to_utf8_length() returns 1 if input is a
     single ASCII character UTF16 string

  3. check utf16_to_utf8_length() returns 3 if input is a
     single UTF-16 character between U+0800 - U+FFFF

  4. check utf16_to_utf8_length() returns 4 if input has
     a surrogate pair

  5. check unpaired UTF-16 surrogate is handled correctly
     (skipped)

  6. check utf16_to_utf8_length(0 handles invalid surrogate
     case correctly, by skipping the first but handling the
     rest correctly

  7. check a normal string with a mix of 1/2/3/4-byte UTF8
     characters is correctly converted by utf16_to_utf8()

  8. check conversion from invalid utf8 sequence with invalid
     leading byte and/or invalid trailing byte(s) should still
     work and not crash

Change-Id: If68e514af0e84ddebf5900b2e140e76ba4f44553
2022-12-06 15:14:27 -08:00
..
include/utils libutils: Fix missing definition of shared_ptr and unique_ptr 2022-11-25 12:15:53 +05:30
Android.bp libutils: DEBUG_* modes compile forever 2022-10-08 05:13:47 +00:00
BitSet_fuzz.cpp Add fuzzers for libutils classes 2020-05-15 10:30:16 -07:00
BitSet_test.cpp
CallStack.cpp Fix thread unwind in CallStack. 2022-09-12 18:37:22 -07:00
CallStack_fuzz.cpp Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
CallStack_test.cpp Fix the build with a newer LLVM. 2022-09-14 20:16:25 +00:00
CleanSpec.mk
Errors.cpp statusToString: parenthesize strerror 2019-12-10 18:43:53 +00:00
Errors_test.cpp Fix OkOrFail<status_t> conversion ambiguities 2022-02-25 14:27:41 -05:00
FileMap.cpp Merge "Fail explicitly on length overflow." into oc-dev am: ea8d38e77f 2020-07-31 19:45:35 +00:00
FileMap_fuzz.cpp Add fuzzers for libutils classes 2020-05-15 10:30:16 -07:00
FileMap_test.cpp Fail explicitly on length overflow. 2020-05-28 18:38:18 -07:00
FuzzFormatTypes.h Adds license header 2020-10-02 11:08:15 -07:00
JenkinsHash.cpp
LightRefBase.cpp libutils: LightRefBase: incStrongRequireStrong 2021-05-04 21:42:26 +00:00
Looper.cpp libutils: DEBUG_* modes compile forever 2022-10-08 05:13:47 +00:00
Looper_fuzz.cpp Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
Looper_test.cpp Looper: Use sequence numbers in epoll_event to track requests 2021-09-01 14:52:52 +00:00
Looper_test_pipe.h Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
LruCache_fuzz.cpp Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
LruCache_test.cpp Make callback outlive LruCache. 2022-03-31 20:21:28 +00:00
misc.cpp
MODULE_LICENSE_APACHE2
Mutex_test.cpp
NativeHandle.cpp Reland^2 "libutils: disable implicit ref base construction" 2021-04-27 00:09:23 +00:00
NOTICE
OWNERS
Printer.cpp
Printer_fuzz.cpp Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
ProcessCallStack.cpp
ProcessCallStack_fuzz.cpp Add second batch of fuzzers for libutils 2020-08-07 15:36:39 -07:00
RefBase.cpp libutils: RefBase DEBUG_REF love 2022-10-10 16:58:57 +00:00
RefBase_fuzz.cpp Resolved UAF issue in RefBase fuzzer 2020-11-30 16:18:27 -08:00
RefBase_test.cpp RefBase: test for stack check 2022-07-29 00:54:57 +00:00
SharedBuffer.cpp Reland "libutils: Introduce StaticString16"" 2019-09-05 13:19:14 -07:00
SharedBuffer.h Reland "libutils: Introduce StaticString16"" 2019-09-05 13:19:14 -07:00
SharedBuffer_test.cpp libutils: sharedbuffer test - expect greatness! 2021-04-28 17:15:58 +00:00
Singleton_test.cpp
Singleton_test.h
Singleton_test1.cpp
Singleton_test2.cpp
StopWatch.cpp libutils: remove the unused StopWatch lap functionality. 2021-05-11 16:33:47 -07:00
String8.cpp libutils: Include limits for std::numeric_limits::max 2022-10-21 10:26:08 +05:30
String8_fuzz.cpp Revert "Revert "Remove unused String8::setPathName."" 2021-07-19 20:19:44 +00:00
String8_test.cpp Check for overflow in String8::real_append. 2021-06-10 16:42:20 -07:00
String16.cpp Merge "String16 is moveable (noexcept)" am: 3551e457ca am: 32ceaa1299 2021-06-30 01:48:14 +00:00
String16_fuzz.cpp Remove String16::remove. 2021-05-12 20:24:26 +00:00
String16_test.cpp Merge "libutil: no special copy from StaticString16" am: 7d067aee62 am: ece939ecc9 2021-06-30 02:51:49 +00:00
StrongPointer.cpp RefBase: test for stack check 2022-07-29 00:54:57 +00:00
StrongPointer_test.cpp libutils: LightRefBase: incStrongRequireStrong 2021-05-04 21:42:26 +00:00
SystemClock.cpp Add uptimeNanos to SystemClock 2020-08-07 14:36:07 -07:00
SystemClock_test.cpp Add uptimeNanos to SystemClock 2020-08-07 14:36:07 -07:00
TEST_MAPPING Split up the system/core/ TEST_MAPPING. 2021-08-16 16:37:10 -07:00
Threads.cpp Merge "libutils: Remove a little dead code" am: 4a39ba316f am: 0a8e5126ef am: 9637277417 am: 74402be9d1 2022-02-09 00:00:07 +00:00
Timers.cpp Increase coverage of Timers to 100%. 2021-05-18 13:10:50 -07:00
Timers_test.cpp Increase coverage of Timers to 100%. 2021-05-18 13:10:50 -07:00
Tokenizer.cpp libutils: DEBUG_* modes compile forever 2022-10-08 05:13:47 +00:00
Trace.cpp
Unicode.cpp Remove move dead code. 2021-04-15 15:18:54 -07:00
Unicode_test.cpp libutils: Add more tests for Unicode 2022-12-06 15:14:27 -08:00
Vector_benchmark.cpp compare android::Vector and std::vector 2019-09-03 18:11:43 -07:00
Vector_fuzz.cpp Add fuzzers for libutils classes 2020-05-15 10:30:16 -07:00
Vector_test.cpp libutils: clearer abort on overflow. 2022-04-28 00:25:25 +00:00
VectorImpl.cpp libutils: clearer abort on overflow. 2022-04-28 00:25:25 +00:00