@@ -1298,13 +1298,15 @@ mod tests {
12981298
12991299 fn run_check_links (
13001300 env : & TestEnvironment ,
1301- url : & str ,
1301+ url_start : & str ,
1302+ url_end : & str ,
13021303 extra : & str ,
13031304 should_contain_redirect : bool ,
13041305 ) {
13051306 run_check_links_redir (
13061307 env,
1307- url,
1308+ url_start,
1309+ url_end,
13081310 extra,
13091311 should_contain_redirect,
13101312 should_contain_redirect,
@@ -1313,18 +1315,30 @@ mod tests {
13131315
13141316 fn run_check_links_redir (
13151317 env : & TestEnvironment ,
1316- url : & str ,
1318+ url_start : & str ,
1319+ url_end : & str ,
13171320 extra : & str ,
13181321 should_contain_redirect : bool ,
13191322 ajax_should_contain_redirect : bool ,
13201323 ) {
1321- let response = env. frontend ( ) . get ( url) . send ( ) . unwrap ( ) ;
1324+ let response = env
1325+ . frontend ( )
1326+ . get ( & format ! ( "{url_start}{url_end}" ) )
1327+ . send ( )
1328+ . unwrap ( ) ;
13221329 assert ! ( response. status( ) . is_success( ) ) ;
13231330 let list1 = check_links ( response. text ( ) . unwrap ( ) , false , should_contain_redirect) ;
13241331 // Same test with AJAX endpoint.
1332+ let ( start, extra_name) = if url_start. starts_with ( "/crate/" ) {
1333+ ( "" , "/crate" )
1334+ } else {
1335+ ( "/crate" , "" )
1336+ } ;
13251337 let response = env
13261338 . frontend ( )
1327- . get ( & format ! ( "/-/menus/platforms{url}{extra}" ) )
1339+ . get ( & format ! (
1340+ "{start}{url_start}/menus/platforms{extra_name}{url_end}{extra}"
1341+ ) )
13281342 . send ( )
13291343 . unwrap ( ) ;
13301344 assert ! ( response. status( ) . is_success( ) ) ;
@@ -1356,17 +1370,31 @@ mod tests {
13561370
13571371 // FIXME: For some reason, there are target-redirects on non-AJAX lists on docs.rs
13581372 // crate pages other than the "default" one.
1359- run_check_links_redir ( env, "/crate/dummy/0.4.0/features" , "" , true , false ) ;
1360- run_check_links_redir ( env, "/crate/dummy/0.4.0/builds" , "" , true , false ) ;
1361- run_check_links_redir ( env, "/crate/dummy/0.4.0/source/" , "" , true , false ) ;
1362- run_check_links_redir ( env, "/crate/dummy/0.4.0/source/README.md" , "" , true , false ) ;
1363-
1364- run_check_links ( env, "/crate/dummy/0.4.0" , "" , false ) ;
1365- run_check_links ( env, "/dummy/latest/dummy" , "/" , true ) ;
1366- run_check_links ( env, "/dummy/0.4.0/x86_64-pc-windows-msvc/dummy" , "/" , true ) ;
1373+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/features" , "" , true , false ) ;
1374+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/builds" , "" , true , false ) ;
1375+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/source/" , "" , true , false ) ;
1376+ run_check_links_redir (
1377+ env,
1378+ "/crate/dummy/0.4.0" ,
1379+ "/source/README.md" ,
1380+ "" ,
1381+ true ,
1382+ false ,
1383+ ) ;
1384+
1385+ run_check_links ( env, "/crate/dummy/0.4.0" , "" , "/" , false ) ;
1386+ run_check_links ( env, "/dummy/latest" , "/dummy" , "/" , true ) ;
1387+ run_check_links (
1388+ env,
1389+ "/dummy/0.4.0" ,
1390+ "/x86_64-pc-windows-msvc/dummy" ,
1391+ "/" ,
1392+ true ,
1393+ ) ;
13671394 run_check_links (
13681395 env,
1369- "/dummy/0.4.0/x86_64-pc-windows-msvc/dummy/struct.A.html" ,
1396+ "/dummy/0.4.0" ,
1397+ "/x86_64-pc-windows-msvc/dummy/struct.A.html" ,
13701398 "/" ,
13711399 true ,
13721400 ) ;
0 commit comments