Skip to content

Commit aa02d5b

Browse files
committed
test: Trimming when annotating unicode char at end
1 parent 1ed9c4a commit aa02d5b

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tests/formatter.rs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3004,6 +3004,59 @@ fn trim_unicode_annotate_ascii_end_no_label() {
30043004
assert_data_eq!(renderer.render(input), expected_unicode);
30053005
}
30063006

3007+
#[test]
3008+
fn trim_unicode_annotate_unicode_end_with_label() {
3009+
let source = "/*这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/好";
3010+
let input = &[Group::with_level(Level::ERROR).element(
3011+
Snippet::source(source).annotation(
3012+
AnnotationKind::Primary
3013+
.span(499..502)
3014+
.label("expected item"),
3015+
),
3016+
)];
3017+
3018+
let expected_ascii = str![[r#"
3019+
|
3020+
1 | ... 的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/好
3021+
| ^^ expected item
3022+
"#]];
3023+
3024+
let renderer = Renderer::plain();
3025+
assert_data_eq!(renderer.render(input), expected_ascii);
3026+
3027+
let expected_unicode = str![[r#"
3028+
╭▸
3029+
1 │ … 宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/好
3030+
╰╴ ━━ expected item
3031+
"#]];
3032+
let renderer = renderer.decor_style(DecorStyle::Unicode);
3033+
assert_data_eq!(renderer.render(input), expected_unicode);
3034+
}
3035+
3036+
#[test]
3037+
fn trim_unicode_annotate_unicode_end_no_label() {
3038+
let source = "/*这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/好";
3039+
let input = &[Group::with_level(Level::ERROR)
3040+
.element(Snippet::source(source).annotation(AnnotationKind::Primary.span(499..502)))];
3041+
3042+
let expected_ascii = str![[r#"
3043+
|
3044+
1 | ... 。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/
3045+
| ^^
3046+
"#]];
3047+
3048+
let renderer = Renderer::plain();
3049+
assert_data_eq!(renderer.render(input), expected_ascii);
3050+
3051+
let expected_unicode = str![[r#"
3052+
╭▸
3053+
1 │ … 的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/
3054+
╰╴ ━━
3055+
"#]];
3056+
let renderer = renderer.decor_style(DecorStyle::Unicode);
3057+
assert_data_eq!(renderer.render(input), expected_unicode);
3058+
}
3059+
30073060
#[test]
30083061
fn trim_unicode_annotate_unicode_middle_with_label() {
30093062
let source = "/*这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。这是宽的。*/?";

0 commit comments

Comments
 (0)