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
BitSet_test.cpp
CallStack.cpp Fix thread unwind in CallStack. 2022-09-12 18:37:22 -07:00
CallStack_fuzz.cpp
CallStack_test.cpp Fix the build with a newer LLVM. 2022-09-14 20:16:25 +00:00
CleanSpec.mk
Errors.cpp
Errors_test.cpp Fix OkOrFail<status_t> conversion ambiguities 2022-02-25 14:27:41 -05:00
FileMap.cpp
FileMap_fuzz.cpp
FileMap_test.cpp
FuzzFormatTypes.h
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
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
LruCache_fuzz.cpp
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
ProcessCallStack.cpp
ProcessCallStack_fuzz.cpp
RefBase.cpp libutils: RefBase DEBUG_REF love 2022-10-10 16:58:57 +00:00
RefBase_fuzz.cpp
RefBase_test.cpp RefBase: test for stack check 2022-07-29 00:54:57 +00:00
SharedBuffer.cpp
SharedBuffer.h
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
SystemClock_test.cpp
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
Vector_fuzz.cpp
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