Skip to content

Commit da01062

Browse files
committed
test(fixtures): Move to source code based color tests
1 parent a78e165 commit da01062

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+519
-965
lines changed

Cargo.lock

Lines changed: 5 additions & 322 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,17 +128,11 @@ divan = "0.1.14"
128128
glob = "0.3.1"
129129
serde = { version = "1.0.199", features = ["derive"] }
130130
snapbox = { version = "0.6.0", features = ["diff", "term-svg", "cmd", "examples"] }
131-
toml = "0.8.0"
132-
tryfn = "0.2.1"
133131

134132
[[bench]]
135133
name = "bench"
136134
harness = false
137135

138-
[[test]]
139-
name = "fixtures"
140-
harness = false
141-
142136
[features]
143137
default = []
144138
simd = ["memchr"]

tests/color/ann_eof.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
2+
3+
use snapbox::{assert_data_eq, file};
4+
5+
#[test]
6+
fn case() {
7+
let input = Level::ERROR.header("expected `.`, `=`").group(
8+
Group::new().element(
9+
Snippet::source("asdf")
10+
.origin("Cargo.toml")
11+
.line_start(1)
12+
.annotation(AnnotationKind::Primary.span(4..4).label("")),
13+
),
14+
);
15+
let expected = file!["ann_eof.term.svg"];
16+
let renderer = Renderer::styled();
17+
assert_data_eq!(renderer.render(input), expected);
18+
}
File renamed without changes.

tests/color/ann_insertion.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
use annotate_snippets::{
2+
AnnotationKind, Group, Level, Renderer, Snippet,
3+
};
4+
5+
use snapbox::{assert_data_eq, file};
6+
7+
#[test]
8+
fn case() {
9+
let input = Level::ERROR.header("expected `.`, `=`").group(
10+
Group::new().element(
11+
Snippet::source("asf")
12+
.origin("Cargo.toml")
13+
.line_start(1)
14+
.annotation(AnnotationKind::Primary.span(2..2).label("'d' belongs here")),
15+
),
16+
);
17+
let expected = file!["ann_insertion.term.svg"];
18+
let renderer = Renderer::styled();
19+
assert_data_eq!(renderer.render(input), expected);
20+
}

tests/color/ann_multiline.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
use annotate_snippets::{
2+
AnnotationKind, Group, Level, Renderer, Snippet,
3+
};
4+
5+
use snapbox::{assert_data_eq, file};
6+
7+
#[test]
8+
fn case() {
9+
let source = r#" if let DisplayLine::Source {
10+
ref mut inline_marks,
11+
} = body[body_idx]
12+
"#;
13+
14+
let input = Level::ERROR
15+
.header("pattern does not mention fields `lineno`, `content`")
16+
.id("E0027")
17+
.group(
18+
Group::new().element(
19+
Snippet::source(source)
20+
.origin("src/display_list.rs")
21+
.line_start(139)
22+
.fold(false)
23+
.annotation(
24+
AnnotationKind::Primary
25+
.span(31..128)
26+
.label("missing fields `lineno`, `content`"),
27+
),
28+
),
29+
);
30+
let expected = file!["ann_multiline.term.svg"];
31+
let renderer = Renderer::styled();
32+
assert_data_eq!(renderer.render(input), expected);
33+
}

tests/color/ann_multiline2.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
use annotate_snippets::{
2+
AnnotationKind, Group, Level, Renderer, Snippet,
3+
};
4+
5+
use snapbox::{assert_data_eq, file};
6+
7+
#[test]
8+
fn case() {
9+
let source = r#"This is an example
10+
of an edge case of an annotation overflowing
11+
to exactly one character on next line.
12+
"#;
13+
14+
let input = Level::ERROR
15+
.header("spacing error found")
16+
.id("E####")
17+
.group(
18+
Group::new().element(
19+
Snippet::source(source)
20+
.origin("foo.txt")
21+
.line_start(26)
22+
.fold(false)
23+
.annotation(
24+
AnnotationKind::Primary
25+
.span(11..19)
26+
.label("this should not be on separate lines"),
27+
),
28+
),
29+
);
30+
let expected = file!["ann_multiline2.term.svg"];
31+
let renderer = Renderer::styled();
32+
assert_data_eq!(renderer.render(input), expected);
33+
}

0 commit comments

Comments
 (0)