@@ -5646,3 +5646,55 @@ LL │ static ROOK_ATTACKS_TABLE: () = {
56465646    let  renderer = renderer. decor_style ( DecorStyle :: Unicode ) ; 
56475647    assert_data_eq ! ( renderer. render( input) ,  expected_unicode) ; 
56485648} 
5649+ 
5650+ #[ test]  
5651+ fn  emitter_overflow_bad_whitespace ( )  { 
5652+     // tests/ui/errors/emitter-overflow-bad-whitespace.rs 
5653+     let  source = r#"                                         fn main() {              return;              } 
5654+ "# ; 
5655+     let  title_0 = "Unicode character ' ' (No-Break Space) looks like ' ' (Space), but it is not" ; 
5656+ 
5657+     let  report = & [ 
5658+         Group :: with_title ( Level :: ERROR . primary_title ( "unknown start of token: \u{a0} " ) ) . element ( 
5659+             Snippet :: source ( source) 
5660+                 . path ( "$DIR/emitter-overflow-bad-whitespace.rs" ) 
5661+                 . line_start ( 10 ) 
5662+                 . annotation ( AnnotationKind :: Primary . span ( 0 ..2 ) ) , 
5663+         ) , 
5664+         Group :: with_title ( Level :: HELP . secondary_title ( title_0) ) . element ( 
5665+             Snippet :: source ( source) 
5666+                 . path ( "$DIR/emitter-overflow-bad-whitespace.rs" ) 
5667+                 . line_start ( 10 ) 
5668+                 . patch ( Patch :: new ( 0 ..2 ,  " " ) ) , 
5669+         ) , 
5670+     ] ; 
5671+     let  expected_ascii = str![ [ r#" 
5672+ error: unknown start of token:   
5673+   --> $DIR/emitter-overflow-bad-whitespace.rs:10:1 
5674+    | 
5675+ 10 |     ... 
5676+    | ^ 
5677+    | 
5678+ help: Unicode character ' ' (No-Break Space) looks like ' ' (Space), but it is not 
5679+    | 
5680+ 10 |                                          fn main() {              return;              } 
5681+    | + 
5682+ "# ] ] ; 
5683+     let  renderer_ascii = Renderer :: plain ( ) . term_width ( 1 ) ; 
5684+     assert_data_eq ! ( renderer_ascii. render( report) ,  expected_ascii) ; 
5685+ 
5686+     let  expected_unicode = str![ [ r#" 
5687+ error: unknown start of token:   
5688+    ╭▸ $DIR/emitter-overflow-bad-whitespace.rs:10:1 
5689+    │ 
5690+ 10 │       … 
5691+    │ ━ 
5692+    ╰╴ 
5693+ help: Unicode character ' ' (No-Break Space) looks like ' ' (Space), but it is not 
5694+    ╭╴ 
5695+ 10 │                                          fn main() {              return;              } 
5696+    ╰╴+ 
5697+ "# ] ] ; 
5698+     let  renderer_unicode = renderer_ascii. decor_style ( DecorStyle :: Unicode ) ; 
5699+     assert_data_eq ! ( renderer_unicode. render( report) ,  expected_unicode) ; 
5700+ } 
0 commit comments