@@ -1307,13 +1307,15 @@ mod tests {
13071307
13081308 fn run_check_links (
13091309 env : & TestEnvironment ,
1310- url : & str ,
1310+ url_start : & str ,
1311+ url_end : & str ,
13111312 extra : & str ,
13121313 should_contain_redirect : bool ,
13131314 ) {
13141315 run_check_links_redir (
13151316 env,
1316- url,
1317+ url_start,
1318+ url_end,
13171319 extra,
13181320 should_contain_redirect,
13191321 should_contain_redirect,
@@ -1322,18 +1324,30 @@ mod tests {
13221324
13231325 fn run_check_links_redir (
13241326 env : & TestEnvironment ,
1325- url : & str ,
1327+ url_start : & str ,
1328+ url_end : & str ,
13261329 extra : & str ,
13271330 should_contain_redirect : bool ,
13281331 ajax_should_contain_redirect : bool ,
13291332 ) {
1330- let response = env. frontend ( ) . get ( url) . send ( ) . unwrap ( ) ;
1333+ let response = env
1334+ . frontend ( )
1335+ . get ( & format ! ( "{url_start}{url_end}" ) )
1336+ . send ( )
1337+ . unwrap ( ) ;
13311338 assert ! ( response. status( ) . is_success( ) ) ;
13321339 let list1 = check_links ( response. text ( ) . unwrap ( ) , false , should_contain_redirect) ;
13331340 // Same test with AJAX endpoint.
1341+ let ( start, extra_name) = if url_start. starts_with ( "/crate/" ) {
1342+ ( "" , "/crate" )
1343+ } else {
1344+ ( "/crate" , "" )
1345+ } ;
13341346 let response = env
13351347 . frontend ( )
1336- . get ( & format ! ( "/-/menus/platforms{url}{extra}" ) )
1348+ . get ( & format ! (
1349+ "{start}{url_start}/menus/platforms{extra_name}{url_end}{extra}"
1350+ ) )
13371351 . send ( )
13381352 . unwrap ( ) ;
13391353 assert ! ( response. status( ) . is_success( ) ) ;
@@ -1365,17 +1379,31 @@ mod tests {
13651379
13661380 // FIXME: For some reason, there are target-redirects on non-AJAX lists on docs.rs
13671381 // crate pages other than the "default" one.
1368- run_check_links_redir ( env, "/crate/dummy/0.4.0/features" , "" , true , false ) ;
1369- run_check_links_redir ( env, "/crate/dummy/0.4.0/builds" , "" , true , false ) ;
1370- run_check_links_redir ( env, "/crate/dummy/0.4.0/source/" , "" , true , false ) ;
1371- run_check_links_redir ( env, "/crate/dummy/0.4.0/source/README.md" , "" , true , false ) ;
1372-
1373- run_check_links ( env, "/crate/dummy/0.4.0" , "" , false ) ;
1374- run_check_links ( env, "/dummy/latest/dummy" , "/" , true ) ;
1375- run_check_links ( env, "/dummy/0.4.0/x86_64-pc-windows-msvc/dummy" , "/" , true ) ;
1382+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/features" , "" , true , false ) ;
1383+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/builds" , "" , true , false ) ;
1384+ run_check_links_redir ( env, "/crate/dummy/0.4.0" , "/source/" , "" , true , false ) ;
1385+ run_check_links_redir (
1386+ env,
1387+ "/crate/dummy/0.4.0" ,
1388+ "/source/README.md" ,
1389+ "" ,
1390+ true ,
1391+ false ,
1392+ ) ;
1393+
1394+ run_check_links ( env, "/crate/dummy/0.4.0" , "" , "/" , false ) ;
1395+ run_check_links ( env, "/dummy/latest" , "/dummy" , "/" , true ) ;
1396+ run_check_links (
1397+ env,
1398+ "/dummy/0.4.0" ,
1399+ "/x86_64-pc-windows-msvc/dummy" ,
1400+ "/" ,
1401+ true ,
1402+ ) ;
13761403 run_check_links (
13771404 env,
1378- "/dummy/0.4.0/x86_64-pc-windows-msvc/dummy/struct.A.html" ,
1405+ "/dummy/0.4.0" ,
1406+ "/x86_64-pc-windows-msvc/dummy/struct.A.html" ,
13791407 "/" ,
13801408 true ,
13811409 ) ;
0 commit comments