Skip to content

Commit 17eb40e

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

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

+489
-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: 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("asf")
10+
.origin("Cargo.toml")
11+
.line_start(1)
12+
.annotation(AnnotationKind::Primary.span(2..2).label("'d' belongs here")),
13+
),
14+
);
15+
let expected = file!["ann_insertion.term.svg"];
16+
let renderer = Renderer::styled();
17+
assert_data_eq!(renderer.render(input), expected);
18+
}

tests/color/ann_multiline.rs

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

tests/color/ann_multiline2.rs

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

0 commit comments

Comments
 (0)