@@ -4192,3 +4192,46 @@ error: invalid character `^` in path base name: `^^not-valid^^`, the first chara
4192
4192
let renderer = renderer. decor_style ( DecorStyle :: Unicode ) ;
4193
4193
assert_data_eq ! ( renderer. render( input) , expected_unicode) ;
4194
4194
}
4195
+
4196
+ #[ test]
4197
+ fn tab ( ) {
4198
+ let source = "
4199
+ t
4200
+ \t t
4201
+ " ;
4202
+
4203
+ let title = "showing how tabs are rendered" ;
4204
+
4205
+ let input = & [
4206
+ Group :: with_title ( Level :: ERROR . primary_title ( title) ) . element (
4207
+ Snippet :: source ( source)
4208
+ . path ( "tabbed.txt" )
4209
+ . annotation ( AnnotationKind :: Primary . span ( 2 ..3 ) )
4210
+ . annotation ( AnnotationKind :: Context . span ( 5 ..6 ) ) ,
4211
+ ) ,
4212
+ ] ;
4213
+
4214
+ let expected_ascii = str![ [ r#"
4215
+ error: showing how tabs are rendered
4216
+ --> tabbed.txt:2:2
4217
+ |
4218
+ 2 | t
4219
+ | ^
4220
+ 3 | t
4221
+ | -
4222
+ "# ] ] ;
4223
+ let renderer = Renderer :: plain ( ) ;
4224
+ assert_data_eq ! ( renderer. render( input) , expected_ascii) ;
4225
+
4226
+ let expected_unicode = str![ [ r#"
4227
+ error: showing how tabs are rendered
4228
+ ╭▸ tabbed.txt:2:2
4229
+ │
4230
+ 2 │ t
4231
+ │ ━
4232
+ 3 │ t
4233
+ ╰╴ ─
4234
+ "# ] ] ;
4235
+ let renderer = renderer. decor_style ( DecorStyle :: Unicode ) ;
4236
+ assert_data_eq ! ( renderer. render( input) , expected_unicode) ;
4237
+ }
0 commit comments