@@ -89,6 +89,36 @@ TEST_CASE(decode_utf16)
89
89
EXPECT_EQ (i, expected.size ());
90
90
}
91
91
92
+ TEST_CASE (utf16_literal)
93
+ {
94
+ {
95
+ Utf16View view { u" " };
96
+ EXPECT (view.validate ());
97
+ EXPECT_EQ (view.length_in_code_units (), 0u );
98
+ }
99
+ {
100
+ Utf16View view { u" a" };
101
+ EXPECT (view.validate ());
102
+ EXPECT_EQ (view.length_in_code_units (), 1u );
103
+ EXPECT_EQ (view.code_unit_at (0 ), 0x61u );
104
+ }
105
+ {
106
+ Utf16View view { u" abc" };
107
+ EXPECT (view.validate ());
108
+ EXPECT_EQ (view.length_in_code_units (), 3u );
109
+ EXPECT_EQ (view.code_unit_at (0 ), 0x61u );
110
+ EXPECT_EQ (view.code_unit_at (1 ), 0x62u );
111
+ EXPECT_EQ (view.code_unit_at (2 ), 0x63u );
112
+ }
113
+ {
114
+ Utf16View view { u" 🙃" };
115
+ EXPECT (view.validate ());
116
+ EXPECT_EQ (view.length_in_code_units (), 2u );
117
+ EXPECT_EQ (view.code_unit_at (0 ), 0xd83du );
118
+ EXPECT_EQ (view.code_unit_at (1 ), 0xde43u );
119
+ }
120
+ }
121
+
92
122
TEST_CASE (iterate_utf16)
93
123
{
94
124
auto string = MUST (AK::utf8_to_utf16 (" Привет 😀" sv));
0 commit comments