@@ -234,6 +234,7 @@ test "test_control_line_break" {
234234 assert_str_width ("1\t 2\r\n 3\u{85} 4" , 7 , 7 )
235235 assert_str_width ("\r \u{FE0F} \n " , 2 , 2 )
236236 assert_str_width ("\r \u{200D} \n " , 2 , 2 )
237+ assert_str_width ("\n \u{200D} 🕊️" , 3 , 3 )
237238}
238239
239240///|
@@ -286,6 +287,12 @@ test "test_hebrew_alef_lamed" {
286287 assert_str_width ("\u{5DC} " , 1 , 1 )
287288 assert_str_width ("\u{5D0}\u{5DC} " , 2 , 2 )
288289 assert_str_width ("\u{5D0}\u{200D}\u{5DC} " , 1 , 1 )
290+ assert_str_width ("\u{5D0}\u{34F}\u{200D}\u{5DC} " , 1 , 1 )
291+ assert_str_width ("\u{5D0}\u{180B}\u{200D}\u{5DC} " , 1 , 1 )
292+ assert_str_width ("\u{5D0}\u{180F}\u{200D}\u{5DC} " , 1 , 1 )
293+ assert_str_width ("\u{5D0}\u{E0100}\u{200D}\u{5DC} " , 1 , 1 )
294+ assert_str_width ("\u{5D0}\u{FE00}\u{34F}\u{200D}\u{5DC} " , 1 , 1 )
295+ assert_str_width ("\u{5D0}\u{FE01}\u{34F}\u{200D}\u{5DC} " , 1 , 1 )
289296 assert_str_width (
290297 "\u{5D0}\u{200D}\u{200D}\u{200D}\u{200D}\u{200D}\u{200D}\u{200D}\u{5DC} " , 1 ,
291298 1 ,
@@ -447,6 +454,7 @@ test "test_emoji_zwj" {
447454 assert_str_width ("🧑🤝🧑" , 2 , 2 )
448455 assert_str_width ("🇮🇱🕊️🇵🇸" , 6 , 6 )
449456 assert_str_width ("🇵🇸\u{200D} 🕊️\u{200D} 🇮🇱" , 2 , 2 )
457+ assert_str_width ("#\u{FE0F}\u{20E3}\u{200D} Ⓜ️" , 3 , 3 )
450458 assert_str_width ("🇮🇱\u{200D} 🕊️\u{200D}\u{200D} 🇵🇸" , 4 , 4 )
451459 assert_str_width ("🇵🇸\u{200D}\u{200D} 🕊️\u{200D} 🇮🇱" , 4 , 4 )
452460 assert_str_width ("🇦🇦\u{200D} 🇦🇦" , 2 , 2 )
@@ -489,6 +497,10 @@ test "test_emoji_zwj" {
489497 assert_str_width (
490498 "🏴\u{E0031}\u{E0031}\u{E0031}\u{E0063}\u{E007F}\u{200D} Ⓜ️" , 2 , 2 ,
491499 )
500+ assert_str_width (
501+ "🏴\u{E0061}\u{E0061}\u{E0061}\u{E0061}\u{E0061}\u{E0061}\u{E007F}\u{200D} Ⓜ️" ,
502+ 2 , 2 ,
503+ )
492504}
493505
494506///|
@@ -497,6 +509,10 @@ test "test_kirat_rai_vowel_signs" {
497509 assert_str_width ("\u{16D68} " , 1 , 1 )
498510 assert_str_width ("\u{16D69} " , 1 , 1 )
499511 assert_str_width ("\u{16D63} " , 1 , 1 )
512+ assert_str_width ("\u{16D63}\u{16D67} " , 1 , 1 )
513+ assert_str_width ("\u{16D68}\u{16D67} " , 2 , 2 )
514+ assert_str_width ("\u{16D69}\u{16D67} " , 1 , 1 )
515+ assert_str_width ("\u{16D63}\u{16D68} " , 1 , 1 )
500516 assert_str_width ("\u{16D67}\u{16D67} " , 2 , 2 )
501517}
502518
0 commit comments