Skip to content

Commit 9784c77

Browse files
authored
refactor: Test helpers (#141)
1 parent 73c0db6 commit 9784c77

1 file changed

Lines changed: 19 additions & 74 deletions

File tree

crates/plotnik-lib/src/query/query_tests.rs

Lines changed: 19 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -4,124 +4,70 @@ use crate::query::query::{LinkedQuery, QueryAnalyzed, QueryBuilder};
44

55
impl<'q> QueryAnalyzed<'q> {
66
#[track_caller]
7-
pub fn expect(src: &'q str) -> Self {
8-
QueryBuilder::new(src).parse().unwrap().analyze()
9-
}
10-
11-
#[track_caller]
12-
pub fn expect_valid(src: &'q str) -> Self {
7+
fn parse_and_validate(src: &'q str) -> Self {
138
let query = QueryBuilder::new(src).parse().unwrap().analyze();
149
if !query.is_valid() {
1510
panic!(
1611
"Expected valid query, got error:\n{}",
1712
query.dump_diagnostics()
1813
);
1914
}
20-
2115
query
2216
}
2317

2418
#[track_caller]
25-
pub fn expect_valid_cst(src: &'q str) -> String {
26-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
27-
if !query.is_valid() {
28-
panic!(
29-
"Expected valid query, got error:\n{}",
30-
query.dump_diagnostics()
31-
);
32-
}
19+
pub fn expect(src: &'q str) -> Self {
20+
QueryBuilder::new(src).parse().unwrap().analyze()
21+
}
22+
23+
#[track_caller]
24+
pub fn expect_valid(src: &'q str) -> Self {
25+
Self::parse_and_validate(src)
26+
}
3327

34-
query.dump_cst()
28+
#[track_caller]
29+
pub fn expect_valid_cst(src: &'q str) -> String {
30+
Self::parse_and_validate(src).dump_cst()
3531
}
3632

3733
#[track_caller]
3834
pub fn expect_valid_cst_full(src: &'q str) -> String {
39-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
40-
if !query.is_valid() {
41-
panic!(
42-
"Expected valid query, got error:\n{}",
43-
query.dump_diagnostics()
44-
);
45-
}
46-
47-
query.dump_cst_full()
35+
Self::parse_and_validate(src).dump_cst_full()
4836
}
4937

5038
#[track_caller]
5139
pub fn expect_valid_ast(src: &'q str) -> String {
52-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
53-
if !query.is_valid() {
54-
panic!(
55-
"Expected valid query, got error:\n{}",
56-
query.dump_diagnostics()
57-
);
58-
}
59-
60-
query.dump_ast()
40+
Self::parse_and_validate(src).dump_ast()
6141
}
6242

6343
#[track_caller]
6444
pub fn expect_valid_arities(src: &'q str) -> String {
65-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
66-
if !query.is_valid() {
67-
panic!(
68-
"Expected valid query, got error:\n{}",
69-
query.dump_diagnostics()
70-
);
71-
}
72-
73-
query.dump_with_arities()
45+
Self::parse_and_validate(src).dump_with_arities()
7446
}
7547

7648
#[track_caller]
7749
pub fn expect_valid_symbols(src: &'q str) -> String {
78-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
79-
if !query.is_valid() {
80-
panic!(
81-
"Expected valid query, got error:\n{}",
82-
query.dump_diagnostics()
83-
);
84-
}
85-
86-
query.dump_symbols()
50+
Self::parse_and_validate(src).dump_symbols()
8751
}
8852

8953
#[track_caller]
9054
pub fn expect_valid_linking(src: &'q str, lang: &Lang) -> LinkedQuery<'q> {
91-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
92-
if !query.is_valid() {
93-
panic!(
94-
"Expected valid query, got error:\n{}",
95-
query.dump_diagnostics()
96-
);
97-
}
98-
99-
let query = query.link(lang);
55+
let query = Self::parse_and_validate(src).link(lang);
10056
if !query.is_valid() {
10157
panic!(
10258
"Expected valid linking, got error:\n{}",
10359
query.dump_diagnostics()
10460
);
10561
}
106-
10762
query
10863
}
10964

11065
#[track_caller]
11166
pub fn expect_invalid_linking(src: &'q str, lang: &Lang) -> String {
112-
let query = QueryBuilder::new(src).parse().unwrap().analyze();
113-
if !query.is_valid() {
114-
panic!(
115-
"Expected valid query, got error:\n{}",
116-
query.dump_diagnostics()
117-
);
118-
}
119-
120-
let query = query.link(lang);
67+
let query = Self::parse_and_validate(src).link(lang);
12168
if query.is_valid() {
122-
panic!("Expected failed linking, got valid",);
69+
panic!("Expected failed linking, got valid");
12370
}
124-
12571
query.dump_diagnostics()
12672
}
12773

@@ -131,7 +77,6 @@ impl<'q> QueryAnalyzed<'q> {
13177
if query.is_valid() {
13278
panic!("Expected invalid query, got valid:\n{}", query.dump_cst());
13379
}
134-
13580
query.dump_diagnostics()
13681
}
13782
}

0 commit comments

Comments
 (0)