everything_sys_bindgen/
lib.rs1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5#[cfg(target_os = "windows")]
6include!("../Everything.rs");
7
8#[cfg(test)]
9mod tests {
10 use super::*;
11 use widestring::U16CString;
12
13 fn to_wide(s: &str) -> U16CString {
15 U16CString::from_str(s).unwrap()
16 }
17
18 #[test]
19 fn test_everything_version() {
20 let version: DWORD;
21
22 unsafe {
23 version = Everything_GetMajorVersion();
24 }
25
26 assert!(version > 0);
27 }
28
29 #[test]
30 fn test_everything_set_search_w() {
31 let search_string = "test";
32 let wide_search_string = to_wide(search_string);
33
34 unsafe {
35 Everything_SetSearchW(wide_search_string.as_ptr());
36 }
37 }
38
39 fn test_search() {
40 let search_string = "test";
41 let wide_search_string = to_wide(search_string);
42
43 unsafe {
44 Everything_SetSearchW(wide_search_string.as_ptr());
45 let result = Everything_QueryW(1);
46
47 assert_eq!(result, 1);
48 }
49 }
50
51 #[test]
52 fn test_everything_query_w() {
53 test_search();
54 }
55
56 #[test]
57 fn test_everything_get_num_results() {
58 let num_results: DWORD;
59
60 test_search();
61 unsafe {
62 num_results = Everything_GetNumResults();
63 }
64
65 println!("num_results: {}", num_results);
66
67 assert!(num_results > 0);
68 }
69
70 #[test]
71 fn test_everything_get_result_path_w() {
72 let index: DWORD = 0;
73 let result;
74 test_search();
75 unsafe {
76 result = Everything_GetResultPathW(index);
77 }
78
79 assert!(!result.is_null());
80 }
81
82 #[test]
83 fn test_everything_get_result_file_name_w() {
84 let index: DWORD = 0;
85 let result;
86 test_search();
87 unsafe {
88 result = Everything_GetResultFileNameW(index);
89 }
90
91 assert!(!result.is_null());
92 }
93
94 #[test]
95 fn test_everything_get_result_full_path_and_file_name_w() {
96 let index: DWORD = 0;
97 let buf: [WCHAR; 260] = [0; 260];
98 let size: DWORD;
99 test_search();
100 unsafe {
101 size = Everything_GetResultFullPathNameW(
102 index,
103 buf.as_ptr() as *mut _,
104 buf.len() as DWORD,
105 );
106 }
107
108 assert!(size > 0);
109 }
110
111 #[test]
112 fn test_everything_reset() {
113 unsafe {
114 Everything_Reset();
115 }
116 }
117}