@@ -3227,3 +3227,51 @@ LL │ t.field;
32273227 let renderer = renderer. decor_style ( DecorStyle :: Unicode ) ;
32283228 assert_data_eq ! ( renderer. render( input) , expected_unicode) ;
32293229}
3230+
3231+ #[ test]
3232+ fn multiple_line_num_widths ( ) {
3233+ let source = r#"
3234+ cargo-features = ["path-bases"]
3235+
3236+ [package]
3237+ name = "foo"
3238+ version = "0.5.0"
3239+ authors = ["wycats@example.com"]
3240+
3241+ [dependencies]
3242+ bar = { base = '^^not-valid^^', path = 'bar' }
3243+ "# ;
3244+
3245+ let title = "invalid character `^` in path base name: `^^not-valid^^`, the first character must be a Unicode XID start character (most letters or `_`)" ;
3246+
3247+ let input = & [
3248+ Group :: with_title ( Level :: ERROR . primary_title ( title) ) . element (
3249+ Snippet :: source ( source)
3250+ . path ( "Cargo.toml" )
3251+ . annotation ( AnnotationKind :: Primary . span ( 243 ..282 ) )
3252+ . annotation ( AnnotationKind :: Visible . span ( 206 ..219 ) ) ,
3253+ ) ,
3254+ ] ;
3255+
3256+ let expected_ascii = str![ [ r#"
3257+ error: invalid character `^` in path base name: `^^not-valid^^`, the first character must be a Unicode XID start character (most letters or `_`)
3258+ --> Cargo.toml:10:24
3259+ |
3260+ 9 | [dependencies]
3261+ 10 | bar = { base = '^^not-valid^^', path = 'bar' }
3262+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3263+ "# ] ] ;
3264+ let renderer = Renderer :: plain ( ) ;
3265+ assert_data_eq ! ( renderer. render( input) , expected_ascii) ;
3266+
3267+ let expected_unicode = str![ [ r#"
3268+ error: invalid character `^` in path base name: `^^not-valid^^`, the first character must be a Unicode XID start character (most letters or `_`)
3269+ ╭▸ Cargo.toml:10:24
3270+ │
3271+ 9 │ [dependencies]
3272+ 10 │ bar = { base = '^^not-valid^^', path = 'bar' }
3273+ ╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3274+ "# ] ] ;
3275+ let renderer = renderer. decor_style ( DecorStyle :: Unicode ) ;
3276+ assert_data_eq ! ( renderer. render( input) , expected_unicode) ;
3277+ }
0 commit comments