Skip to content

Commit d29e98d

Browse files
bors[bot]h-michael
andcommitted
Merge #409
409: Add Analysis#teype_of test r=matklad a=h-michael Co-authored-by: Hirokazu Hata <[email protected]>
2 parents e92f2ff + 4363e7b commit d29e98d

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

crates/ra_analysis/tests/type_of.rs

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
use ra_analysis::{
2+
mock_analysis::{single_file_with_range},
3+
};
4+
5+
#[test]
6+
fn test_type_of_for_function() {
7+
let (analysis, range) = single_file_with_range(
8+
"
9+
pub fn foo() -> u32 { 1 };
10+
11+
fn main() {
12+
let foo_test = <|>foo()<|>;
13+
}
14+
",
15+
);
16+
17+
let type_name = analysis.type_of(range).unwrap().unwrap();
18+
assert_eq!("u32", &type_name);
19+
}
20+
21+
// FIXME: improve type_of to make this work
22+
#[test]
23+
fn test_type_of_for_num() {
24+
let (analysis, range) = single_file_with_range(
25+
r#"
26+
fn main() {
27+
let foo_test = <|>"foo"<|>;
28+
}
29+
"#,
30+
);
31+
32+
assert!(analysis.type_of(range).unwrap().is_none());
33+
}
34+
// FIXME: improve type_of to make this work
35+
#[test]
36+
fn test_type_of_for_binding() {
37+
let (analysis, range) = single_file_with_range(
38+
"
39+
pub fn foo() -> u32 { 1 };
40+
41+
fn main() {
42+
let <|>foo_test<|> = foo();
43+
}
44+
",
45+
);
46+
47+
assert!(analysis.type_of(range).unwrap().is_none());
48+
}
49+
50+
// FIXME: improve type_of to make this work
51+
#[test]
52+
fn test_type_of_for_expr_1() {
53+
let (analysis, range) = single_file_with_range(
54+
"
55+
fn main() {
56+
let foo = <|>1 + foo_test<|>;
57+
}
58+
",
59+
);
60+
61+
let type_name = analysis.type_of(range).unwrap().unwrap();
62+
assert_eq!("[unknown]", &type_name);
63+
}
64+
65+
// FIXME: improve type_of to make this work
66+
#[test]
67+
fn test_type_of_for_expr_2() {
68+
let (analysis, range) = single_file_with_range(
69+
"
70+
fn main() {
71+
let foo: usize = 1;
72+
let bar = <|>1 + foo_test<|>;
73+
}
74+
",
75+
);
76+
77+
let type_name = analysis.type_of(range).unwrap().unwrap();
78+
assert_eq!("[unknown]", &type_name);
79+
}

0 commit comments

Comments
 (0)