Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/cfg/src/tests.rs')
-rw-r--r--crates/cfg/src/tests.rs39
1 files changed, 19 insertions, 20 deletions
diff --git a/crates/cfg/src/tests.rs b/crates/cfg/src/tests.rs
index bdc3f854e0..242929c006 100644
--- a/crates/cfg/src/tests.rs
+++ b/crates/cfg/src/tests.rs
@@ -2,36 +2,37 @@ use arbitrary::{Arbitrary, Unstructured};
use expect_test::{expect, Expect};
use mbe::syntax_node_to_token_tree;
use syntax::{ast, AstNode};
+use tt::Span;
use crate::{CfgAtom, CfgExpr, CfgOptions, DnfExpr};
+#[derive(Debug, Copy, Clone, PartialEq, Eq)]
+struct DummyFile;
+impl Span for DummyFile {
+ const DUMMY: Self = DummyFile;
+}
+
fn assert_parse_result(input: &str, expected: CfgExpr) {
- let (tt, _) = {
- let source_file = ast::SourceFile::parse(input).ok().unwrap();
- let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
- syntax_node_to_token_tree(tt.syntax())
- };
+ let source_file = ast::SourceFile::parse(input).ok().unwrap();
+ let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
+ let tt = syntax_node_to_token_tree(tt.syntax(), DummyFile, 0.into(), &Default::default());
let cfg = CfgExpr::parse(&tt);
assert_eq!(cfg, expected);
}
fn check_dnf(input: &str, expect: Expect) {
- let (tt, _) = {
- let source_file = ast::SourceFile::parse(input).ok().unwrap();
- let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
- syntax_node_to_token_tree(tt.syntax())
- };
+ let source_file = ast::SourceFile::parse(input).ok().unwrap();
+ let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
+ let tt = syntax_node_to_token_tree(tt.syntax(), DummyFile, 0.into(), &Default::default());
let cfg = CfgExpr::parse(&tt);
let actual = format!("#![cfg({})]", DnfExpr::new(cfg));
expect.assert_eq(&actual);
}
fn check_why_inactive(input: &str, opts: &CfgOptions, expect: Expect) {
- let (tt, _) = {
- let source_file = ast::SourceFile::parse(input).ok().unwrap();
- let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
- syntax_node_to_token_tree(tt.syntax())
- };
+ let source_file = ast::SourceFile::parse(input).ok().unwrap();
+ let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
+ let tt = syntax_node_to_token_tree(tt.syntax(), DummyFile, 0.into(), &Default::default());
let cfg = CfgExpr::parse(&tt);
let dnf = DnfExpr::new(cfg);
let why_inactive = dnf.why_inactive(opts).unwrap().to_string();
@@ -40,11 +41,9 @@ fn check_why_inactive(input: &str, opts: &CfgOptions, expect: Expect) {
#[track_caller]
fn check_enable_hints(input: &str, opts: &CfgOptions, expected_hints: &[&str]) {
- let (tt, _) = {
- let source_file = ast::SourceFile::parse(input).ok().unwrap();
- let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
- syntax_node_to_token_tree(tt.syntax())
- };
+ let source_file = ast::SourceFile::parse(input).ok().unwrap();
+ let tt = source_file.syntax().descendants().find_map(ast::TokenTree::cast).unwrap();
+ let tt = syntax_node_to_token_tree(tt.syntax(), DummyFile, 0.into(), &Default::default());
let cfg = CfgExpr::parse(&tt);
let dnf = DnfExpr::new(cfg);
let hints = dnf.compute_enable_hints(opts).map(|diff| diff.to_string()).collect::<Vec<_>>();