@@ -1298,13 +1298,15 @@ mod tests {
1298
1298
1299
1299
fn run_check_links (
1300
1300
env : & TestEnvironment ,
1301
- url : & str ,
1301
+ url_start : & str ,
1302
+ url_end : & str ,
1302
1303
extra : & str ,
1303
1304
should_contain_redirect : bool ,
1304
1305
) {
1305
1306
run_check_links_redir (
1306
1307
env,
1307
- url,
1308
+ url_start,
1309
+ url_end,
1308
1310
extra,
1309
1311
should_contain_redirect,
1310
1312
should_contain_redirect,
@@ -1313,18 +1315,30 @@ mod tests {
1313
1315
1314
1316
fn run_check_links_redir (
1315
1317
env : & TestEnvironment ,
1316
- url : & str ,
1318
+ url_start : & str ,
1319
+ url_end : & str ,
1317
1320
extra : & str ,
1318
1321
should_contain_redirect : bool ,
1319
1322
ajax_should_contain_redirect : bool ,
1320
1323
) {
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 ( ) ;
1322
1329
assert ! ( response. status( ) . is_success( ) ) ;
1323
1330
let list1 = check_links ( response. text ( ) . unwrap ( ) , false , should_contain_redirect) ;
1324
1331
// Same test with AJAX endpoint.
1332
+ let ( start, extra_name) = if url_start. starts_with ( "/crate/" ) {
1333
+ ( "" , "/crate" )
1334
+ } else {
1335
+ ( "/crate" , "" )
1336
+ } ;
1325
1337
let response = env
1326
1338
. frontend ( )
1327
- . get ( & format ! ( "/-/menus/platforms{url}{extra}" ) )
1339
+ . get ( & format ! (
1340
+ "{start}{url_start}/menus/platforms{extra_name}{url_end}{extra}"
1341
+ ) )
1328
1342
. send ( )
1329
1343
. unwrap ( ) ;
1330
1344
assert ! ( response. status( ) . is_success( ) ) ;
@@ -1356,17 +1370,31 @@ mod tests {
1356
1370
1357
1371
// FIXME: For some reason, there are target-redirects on non-AJAX lists on docs.rs
1358
1372
// 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
+ ) ;
1367
1394
run_check_links (
1368
1395
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" ,
1370
1398
"/" ,
1371
1399
true ,
1372
1400
) ;
0 commit comments