@@ -1307,13 +1307,15 @@ mod tests {
1307
1307
1308
1308
fn run_check_links (
1309
1309
env : & TestEnvironment ,
1310
- url : & str ,
1310
+ url_start : & str ,
1311
+ url_end : & str ,
1311
1312
extra : & str ,
1312
1313
should_contain_redirect : bool ,
1313
1314
) {
1314
1315
run_check_links_redir (
1315
1316
env,
1316
- url,
1317
+ url_start,
1318
+ url_end,
1317
1319
extra,
1318
1320
should_contain_redirect,
1319
1321
should_contain_redirect,
@@ -1322,18 +1324,30 @@ mod tests {
1322
1324
1323
1325
fn run_check_links_redir (
1324
1326
env : & TestEnvironment ,
1325
- url : & str ,
1327
+ url_start : & str ,
1328
+ url_end : & str ,
1326
1329
extra : & str ,
1327
1330
should_contain_redirect : bool ,
1328
1331
ajax_should_contain_redirect : bool ,
1329
1332
) {
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 ( ) ;
1331
1338
assert ! ( response. status( ) . is_success( ) ) ;
1332
1339
let list1 = check_links ( response. text ( ) . unwrap ( ) , false , should_contain_redirect) ;
1333
1340
// Same test with AJAX endpoint.
1341
+ let ( start, extra_name) = if url_start. starts_with ( "/crate/" ) {
1342
+ ( "" , "/crate" )
1343
+ } else {
1344
+ ( "/crate" , "" )
1345
+ } ;
1334
1346
let response = env
1335
1347
. frontend ( )
1336
- . get ( & format ! ( "/-/menus/platforms{url}{extra}" ) )
1348
+ . get ( & format ! (
1349
+ "{start}{url_start}/menus/platforms{extra_name}{url_end}{extra}"
1350
+ ) )
1337
1351
. send ( )
1338
1352
. unwrap ( ) ;
1339
1353
assert ! ( response. status( ) . is_success( ) ) ;
@@ -1365,17 +1379,31 @@ mod tests {
1365
1379
1366
1380
// FIXME: For some reason, there are target-redirects on non-AJAX lists on docs.rs
1367
1381
// 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
+ ) ;
1376
1403
run_check_links (
1377
1404
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" ,
1379
1407
"/" ,
1380
1408
true ,
1381
1409
) ;
0 commit comments