@@ -385,10 +385,14 @@ mod tests {
385
385
#[ test]
386
386
fn family_stays_together ( ) {
387
387
let input = "123👨👩👧👦456" ;
388
+
389
+ // Family emoji should be of width 2
390
+ assert_eq ! ( "👨👩👧👦" . width( ) , 2 ) ;
391
+
388
392
assert_eq ! ( input. unicode_truncate( 4 ) , ( "123" , 3 ) ) ;
389
- assert_eq ! ( input. unicode_truncate( 8 ) , ( "123" , 3 ) ) ;
390
- assert_eq ! ( input. unicode_truncate( 12 ) , ( "123👨👩👧👦4" , 12 ) ) ;
391
- assert_eq ! ( input. unicode_truncate( 20 ) , ( input, 14 ) ) ;
393
+ assert_eq ! ( input. unicode_truncate( 5 ) , ( "123👨👩👧👦 " , 5 ) ) ;
394
+ assert_eq ! ( input. unicode_truncate( 6 ) , ( "123👨👩👧👦4" , 6 ) ) ;
395
+ assert_eq ! ( input. unicode_truncate( 20 ) , ( input, 8 ) ) ;
392
396
}
393
397
}
394
398
@@ -442,10 +446,14 @@ mod tests {
442
446
#[ test]
443
447
fn family_stays_together ( ) {
444
448
let input = "123👨👩👧👦456" ;
449
+
450
+ // Family emoji should be of width 2
451
+ assert_eq ! ( "👨👩👧👦" . width( ) , 2 ) ;
452
+
445
453
assert_eq ! ( input. unicode_truncate_start( 4 ) , ( "456" , 3 ) ) ;
446
- assert_eq ! ( input. unicode_truncate_start( 8 ) , ( "456" , 3 ) ) ;
447
- assert_eq ! ( input. unicode_truncate_start( 12 ) , ( "3👨👩👧👦456" , 12 ) ) ;
448
- assert_eq ! ( input. unicode_truncate_start( 20 ) , ( input, 14 ) ) ;
454
+ assert_eq ! ( input. unicode_truncate_start( 5 ) , ( "👨👩👧👦 456" , 5 ) ) ;
455
+ assert_eq ! ( input. unicode_truncate_start( 6 ) , ( "3👨👩👧👦456" , 6 ) ) ;
456
+ assert_eq ! ( input. unicode_truncate_start( 20 ) , ( input, 8 ) ) ;
449
457
}
450
458
}
451
459
@@ -534,10 +542,15 @@ mod tests {
534
542
#[ test]
535
543
fn family_stays_together ( ) {
536
544
let input = "123👨👩👧👦456" ;
537
- assert_eq ! ( input. unicode_truncate_centered( 4 ) , ( "" , 0 ) ) ;
538
- assert_eq ! ( input. unicode_truncate_centered( 8 ) , ( "👨👩👧👦" , 8 ) ) ;
539
- assert_eq ! ( input. unicode_truncate_centered( 12 ) , ( "23👨👩👧👦45" , 12 ) ) ;
540
- assert_eq ! ( input. unicode_truncate_centered( 20 ) , ( input, 14 ) ) ;
545
+
546
+ // Family emoji should be of width 2
547
+ assert_eq ! ( "👨👩👧👦" . width( ) , 2 ) ;
548
+
549
+ assert_eq ! ( input. unicode_truncate_centered( 1 ) , ( "" , 0 ) ) ;
550
+ assert_eq ! ( input. unicode_truncate_centered( 2 ) , ( "👨👩👧👦" , 2 ) ) ;
551
+ assert_eq ! ( input. unicode_truncate_centered( 4 ) , ( "3👨👩👧👦4" , 4 ) ) ;
552
+ assert_eq ! ( input. unicode_truncate_centered( 6 ) , ( "23👨👩👧👦45" , 6 ) ) ;
553
+ assert_eq ! ( input. unicode_truncate_centered( 20 ) , ( input, 8 ) ) ;
541
554
}
542
555
}
543
556
0 commit comments