1 use super::AutoCfg;
2 
3 #[test]
autocfg_version()4 fn autocfg_version() {
5     let ac = AutoCfg::with_dir("target").unwrap();
6     println!("version: {:?}", ac.rustc_version);
7     assert!(ac.probe_rustc_version(1, 0));
8 }
9 
10 #[test]
version_cmp()11 fn version_cmp() {
12     use super::version::Version;
13     let v123 = Version::new(1, 2, 3);
14 
15     assert!(Version::new(1, 0, 0) < v123);
16     assert!(Version::new(1, 2, 2) < v123);
17     assert!(Version::new(1, 2, 3) == v123);
18     assert!(Version::new(1, 2, 4) > v123);
19     assert!(Version::new(1, 10, 0) > v123);
20     assert!(Version::new(2, 0, 0) > v123);
21 }
22 
23 #[test]
probe_add()24 fn probe_add() {
25     let ac = AutoCfg::with_dir("target").unwrap();
26     assert!(ac.probe_path("std::ops::Add"));
27     assert!(ac.probe_trait("std::ops::Add"));
28     assert!(ac.probe_trait("std::ops::Add<i32>"));
29     assert!(ac.probe_trait("std::ops::Add<i32, Output = i32>"));
30     assert!(ac.probe_type("std::ops::Add<i32, Output = i32>"));
31 }
32 
33 #[test]
probe_as_ref()34 fn probe_as_ref() {
35     let ac = AutoCfg::with_dir("target").unwrap();
36     assert!(ac.probe_path("std::convert::AsRef"));
37     assert!(ac.probe_trait("std::convert::AsRef<str>"));
38     assert!(ac.probe_type("std::convert::AsRef<str>"));
39 }
40 
41 #[test]
probe_i128()42 fn probe_i128() {
43     let ac = AutoCfg::with_dir("target").unwrap();
44     let missing = !ac.probe_rustc_version(1, 26);
45     assert!(missing ^ ac.probe_path("std::i128"));
46     assert!(missing ^ ac.probe_type("i128"));
47 }
48 
49 #[test]
probe_sum()50 fn probe_sum() {
51     let ac = AutoCfg::with_dir("target").unwrap();
52     let missing = !ac.probe_rustc_version(1, 12);
53     assert!(missing ^ ac.probe_path("std::iter::Sum"));
54     assert!(missing ^ ac.probe_trait("std::iter::Sum"));
55     assert!(missing ^ ac.probe_trait("std::iter::Sum<i32>"));
56     assert!(missing ^ ac.probe_type("std::iter::Sum<i32>"));
57 }
58 
59 #[test]
probe_no_std()60 fn probe_no_std() {
61     let ac = AutoCfg::with_dir("target").unwrap();
62     assert!(ac.probe_type("i32"));
63     assert!(ac.probe_type("[i32]"));
64     assert_eq!(ac.probe_type("Vec<i32>"), !ac.no_std);
65 }
66