@@ -2494,3 +2494,96 @@ LL │ �|�␂!5�cc␕␂�Ӻi��WWj�ȥ�'�}�␒�J�ȉ��W
24942494    let  renderer_unicode = renderer_ascii. theme ( OutputTheme :: Unicode ) ; 
24952495    assert_data_eq ! ( renderer_unicode. render( input) ,  expected_unicode) ; 
24962496} 
2497+ 
2498+ #[ test]  
2499+ fn  secondary_title_no_level_text ( )  { 
2500+     let  source = r#"fn main() { 
2501+     let b: &[u8] = include_str!("file.txt");    //~ ERROR mismatched types 
2502+     let s: &str = include_bytes!("file.txt");   //~ ERROR mismatched types 
2503+ }"# ; 
2504+ 
2505+     let  input = Level :: ERROR . header ( "mismatched types" ) . id ( "E0308" ) . group ( 
2506+         Group :: new ( ) 
2507+             . element ( 
2508+                 Snippet :: source ( source) 
2509+                     . path ( "$DIR/mismatched-types.rs" ) 
2510+                     . fold ( true ) 
2511+                     . annotation ( 
2512+                         AnnotationKind :: Primary 
2513+                             . span ( 105 ..131 ) 
2514+                             . label ( "expected `&str`, found `&[u8; 0]`" ) , 
2515+                     ) 
2516+                     . annotation ( 
2517+                         AnnotationKind :: Context 
2518+                             . span ( 98 ..102 ) 
2519+                             . label ( "expected due to this" ) , 
2520+                     ) , 
2521+             ) 
2522+             . element ( 
2523+                 Level :: NOTE 
2524+                     . text ( None ) 
2525+                     . title ( "expected reference `&str`\n found reference `&'static [u8; 0]`" ) , 
2526+             ) , 
2527+     ) ; 
2528+ 
2529+     let  expected = str![ [ r#" 
2530+ error[E0308]: mismatched types 
2531+   --> $DIR/mismatched-types.rs:3:19 
2532+    | 
2533+ LL |     let s: &str = include_bytes!("file.txt");   //~ ERROR mismatched types 
2534+    |            ----   ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `&[u8; 0]` 
2535+    |            | 
2536+    |            expected due to this 
2537+    = expected reference `&str` 
2538+      found reference `&'static [u8; 0]` 
2539+ "# ] ] ; 
2540+     let  renderer = Renderer :: plain ( ) . anonymized_line_numbers ( true ) ; 
2541+     assert_data_eq ! ( renderer. render( input) ,  expected) ; 
2542+ } 
2543+ 
2544+ #[ test]  
2545+ fn  secondary_title_custom_level_text ( )  { 
2546+     let  source = r#"fn main() { 
2547+     let b: &[u8] = include_str!("file.txt");    //~ ERROR mismatched types 
2548+     let s: &str = include_bytes!("file.txt");   //~ ERROR mismatched types 
2549+ }"# ; 
2550+ 
2551+     let  input = Level :: ERROR . header ( "mismatched types" ) . id ( "E0308" ) . group ( 
2552+         Group :: new ( ) 
2553+             . element ( 
2554+                 Snippet :: source ( source) 
2555+                     . path ( "$DIR/mismatched-types.rs" ) 
2556+                     . fold ( true ) 
2557+                     . annotation ( 
2558+                         AnnotationKind :: Primary 
2559+                             . span ( 105 ..131 ) 
2560+                             . label ( "expected `&str`, found `&[u8; 0]`" ) , 
2561+                     ) 
2562+                     . annotation ( 
2563+                         AnnotationKind :: Context 
2564+                             . span ( 98 ..102 ) 
2565+                             . label ( "expected due to this" ) , 
2566+                     ) , 
2567+             ) 
2568+             . element ( 
2569+                 Level :: NOTE 
2570+                     . text ( Some ( "custom" ) ) 
2571+                     . title ( "expected reference `&str`\n found reference `&'static [u8; 0]`" ) , 
2572+             ) , 
2573+     ) ; 
2574+ 
2575+     let  expected = str![ [ r#" 
2576+ error[E0308]: mismatched types 
2577+   --> $DIR/mismatched-types.rs:3:19 
2578+    | 
2579+ LL |     let s: &str = include_bytes!("file.txt");   //~ ERROR mismatched types 
2580+    |            ----   ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `&[u8; 0]` 
2581+    |            | 
2582+    |            expected due to this 
2583+    | 
2584+    = custom: expected reference `&str` 
2585+              found reference `&'static [u8; 0]` 
2586+ "# ] ] ; 
2587+     let  renderer = Renderer :: plain ( ) . anonymized_line_numbers ( true ) ; 
2588+     assert_data_eq ! ( renderer. render( input) ,  expected) ; 
2589+ } 
0 commit comments