@@ -2052,10 +2052,32 @@ pub mod test {
2052
2052
assert_eq ! ( expected, actual) ;
2053
2053
}
2054
2054
2055
+ // Common logic used in `test_tooltip_*` tests below
2056
+ fn run_tooltip_tests ( tests : & [ Test ] , proj_dir : PathBuf , racer_completion : bool ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
2057
+ let out = LineOutput :: default ( ) ;
2058
+
2059
+ let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2060
+ let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
2061
+ let load_dir = proj_dir. join ( "save_data" ) ;
2062
+
2063
+ let harness = TooltipTestHarness :: new ( proj_dir, & out, racer_completion) ;
2064
+
2065
+ out. reset ( ) ;
2066
+
2067
+ let failures = harness. run_tests ( tests, load_dir, save_dir) ?;
2068
+
2069
+ if failures. is_empty ( ) {
2070
+ Ok ( ( ) )
2071
+ } else {
2072
+ eprintln ! ( "{}\n \n " , out. reset( ) . join( "\n " ) ) ;
2073
+ eprintln ! ( "Failures (\x1b [91mexpected\x1b [92mactual\x1b [0m): {:#?}\n \n " , failures) ;
2074
+ Err ( format ! ( "{} of {} tooltip tests failed" , failures. len( ) , tests. len( ) ) . into ( ) )
2075
+ }
2076
+ }
2077
+
2055
2078
#[ test]
2056
2079
fn test_tooltip ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
2057
2080
let _ = env_logger:: try_init ( ) ;
2058
- use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2059
2081
2060
2082
let tests = vec ! [
2061
2083
Test :: new( "test_tooltip_01.rs" , 13 , 11 ) ,
@@ -2105,32 +2127,12 @@ pub mod test {
2105
2127
Test :: new( "test_tooltip_mod_use.rs" , 13 , 28 ) ,
2106
2128
] ;
2107
2129
2108
- let out = LineOutput :: default ( ) ;
2109
- let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2110
-
2111
- let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2112
- let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
2113
- let load_dir = proj_dir. join ( "save_data" ) ;
2114
-
2115
- let harness = TooltipTestHarness :: new ( proj_dir, & out, false ) ;
2116
-
2117
- out. reset ( ) ;
2118
-
2119
- let failures = harness. run_tests ( & tests, load_dir, save_dir) ?;
2120
-
2121
- if failures. is_empty ( ) {
2122
- Ok ( ( ) )
2123
- } else {
2124
- eprintln ! ( "{}\n \n " , out. reset( ) . join( "\n " ) ) ;
2125
- eprintln ! ( "Failures (\x1b [91mexpected\x1b [92mactual\x1b [0m): {:#?}\n \n " , failures) ;
2126
- Err ( format ! ( "{} of {} tooltip tests failed" , failures. len( ) , tests. len( ) ) . into ( ) )
2127
- }
2130
+ run_tooltip_tests ( & tests, FIXTURES_DIR . join ( "hover" ) , false )
2128
2131
}
2129
2132
2130
2133
#[ test]
2131
2134
fn test_tooltip_racer ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
2132
2135
let _ = env_logger:: try_init ( ) ;
2133
- use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2134
2136
2135
2137
let tests = vec ! [
2136
2138
Test :: new( "test_tooltip_01.rs" , 80 , 11 ) ,
@@ -2140,26 +2142,7 @@ pub mod test {
2140
2142
Test :: new( "test_tooltip_mod_use_external.rs" , 12 , 12 ) ,
2141
2143
] ;
2142
2144
2143
- let out = LineOutput :: default ( ) ;
2144
- let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2145
-
2146
- let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2147
- let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
2148
- let load_dir = proj_dir. join ( "save_data" ) ;
2149
-
2150
- let harness = TooltipTestHarness :: new ( proj_dir, & out, true ) ;
2151
-
2152
- out. reset ( ) ;
2153
-
2154
- let failures = harness. run_tests ( & tests, load_dir, save_dir) ?;
2155
-
2156
- if failures. is_empty ( ) {
2157
- Ok ( ( ) )
2158
- } else {
2159
- eprintln ! ( "{}\n \n " , out. reset( ) . join( "\n " ) ) ;
2160
- eprintln ! ( "Failures (\x1b [91mexpected\x1b [92mactual\x1b [0m): {:#?}\n \n " , failures) ;
2161
- Err ( format ! ( "{} of {} tooltip tests failed" , failures. len( ) , tests. len( ) ) . into ( ) )
2162
- }
2145
+ run_tooltip_tests ( & tests, FIXTURES_DIR . join ( "hover" ) , true )
2163
2146
}
2164
2147
2165
2148
/// Note: This test is ignored as it doesn't work in the rust-lang/rust repo.
@@ -2169,7 +2152,6 @@ pub mod test {
2169
2152
#[ ignore]
2170
2153
fn test_tooltip_std ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
2171
2154
let _ = env_logger:: try_init ( ) ;
2172
- use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2173
2155
2174
2156
let tests = vec ! [
2175
2157
Test :: new( "test_tooltip_std.rs" , 18 , 15 ) ,
@@ -2187,26 +2169,7 @@ pub mod test {
2187
2169
Test :: new( "test_tooltip_std.rs" , 25 , 25 ) ,
2188
2170
] ;
2189
2171
2190
- let out = LineOutput :: default ( ) ;
2191
- let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2192
-
2193
- let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2194
- let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
2195
- let load_dir = proj_dir. join ( "save_data" ) ;
2196
-
2197
- let harness = TooltipTestHarness :: new ( proj_dir, & out, false ) ;
2198
-
2199
- out. reset ( ) ;
2200
-
2201
- let failures = harness. run_tests ( & tests, load_dir, save_dir) ?;
2202
-
2203
- if failures. is_empty ( ) {
2204
- Ok ( ( ) )
2205
- } else {
2206
- eprintln ! ( "{}\n \n " , out. reset( ) . join( "\n " ) ) ;
2207
- eprintln ! ( "Failures (\x1b [91mexpected\x1b [92mactual\x1b [0m): {:#?}\n \n " , failures) ;
2208
- Err ( format ! ( "{} of {} tooltip tests failed" , failures. len( ) , tests. len( ) ) . into ( ) )
2209
- }
2172
+ run_tooltip_tests ( & tests, FIXTURES_DIR . join ( "hover" ) , false )
2210
2173
}
2211
2174
2212
2175
/// Note: This test is ignored as it doesn't work in the rust-lang/rust repo.
@@ -2216,33 +2179,13 @@ pub mod test {
2216
2179
#[ ignore]
2217
2180
fn test_tooltip_std_racer ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
2218
2181
let _ = env_logger:: try_init ( ) ;
2219
- use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2220
2182
2221
2183
let tests = vec ! [
2222
2184
// these test std stuff
2223
2185
Test :: new( "test_tooltip_mod_use_external.rs" , 14 , 12 ) ,
2224
2186
Test :: new( "test_tooltip_mod_use_external.rs" , 15 , 12 ) ,
2225
2187
] ;
2226
2188
2227
- let out = LineOutput :: default ( ) ;
2228
- let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2229
-
2230
- let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2231
- let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
2232
- let load_dir = proj_dir. join ( "save_data" ) ;
2233
-
2234
- let harness = TooltipTestHarness :: new ( proj_dir, & out, true ) ;
2235
-
2236
- out. reset ( ) ;
2237
-
2238
- let failures = harness. run_tests ( & tests, load_dir, save_dir) ?;
2239
-
2240
- if failures. is_empty ( ) {
2241
- Ok ( ( ) )
2242
- } else {
2243
- eprintln ! ( "{}\n \n " , out. reset( ) . join( "\n " ) ) ;
2244
- eprintln ! ( "Failures (\x1b [91mexpected\x1b [92mactual\x1b [0m): {:#?}\n \n " , failures) ;
2245
- Err ( format ! ( "{} of {} tooltip tests failed" , failures. len( ) , tests. len( ) ) . into ( ) )
2246
- }
2189
+ run_tooltip_tests ( & tests, FIXTURES_DIR . join ( "hover" ) , true )
2247
2190
}
2248
2191
}
0 commit comments