@@ -545,19 +545,22 @@ mod test {
545
545
. rustdoc_file ( "dummy/blah/blah.html" , b"lah" )
546
546
. create ( ) ?;
547
547
548
+ let web = env. frontend ( ) ;
549
+
548
550
// check it works at all
549
- let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/" , & env . frontend ( ) ) ?;
551
+ let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/" , & web ) ?;
550
552
assert_eq ! ( redirect, "/dummy/0.2.0/dummy/index.html" ) ;
551
553
552
554
// check it keeps the subpage
553
- let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/blah/" , & env . frontend ( ) ) ?;
555
+ let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/blah/" , & web ) ?;
554
556
assert_eq ! ( redirect, "/dummy/0.2.0/dummy/blah/index.html" ) ;
555
- let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/blah/blah.html" , & env . frontend ( ) ) ?;
557
+ let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/blah/blah.html" , & web ) ?;
556
558
assert_eq ! ( redirect, "/dummy/0.2.0/dummy/blah/blah.html" ) ;
557
559
558
560
// check it searches for removed pages
559
- let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/struct.will-be-deleted.html" , & env. frontend ( ) ) ?;
560
- assert_eq ! ( redirect, "/dummy/0.2.0/dummy/?search=will-be-deleted" ) ;
561
+ let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/struct.will-be-deleted.html" , & web) ?;
562
+ assert_eq ! ( redirect, "/dummy/0.2.0/dummy?search=will-be-deleted" ) ;
563
+ assert_redirect ( "/dummy/0.2.0/dummy?search=will-be-deleted" , "/dummy/0.2.0/dummy/?search=will-be-deleted" , & web) . unwrap ( ) ;
561
564
562
565
Ok ( ( ) )
563
566
} )
@@ -582,6 +585,23 @@ mod test {
582
585
let redirect = latest_version_redirect ( "/dummy/0.1.0/x86_64-pc-windows-msvc/dummy/" , web) ?;
583
586
assert_eq ! ( redirect, "/dummy/0.2.0/x86_64-pc-windows-msvc/dummy/index.html" ) ;
584
587
588
+ Ok ( ( ) )
589
+ } )
590
+ }
591
+ #[ test]
592
+ fn redirect_latest_goes_to_crate_if_build_failed ( ) {
593
+ wrapper ( |env| {
594
+ let db = env. db ( ) ;
595
+ db. fake_release ( ) . name ( "dummy" ) . version ( "0.1.0" )
596
+ . rustdoc_file ( "dummy/index.html" , b"lah" )
597
+ . create ( ) . unwrap ( ) ;
598
+ db. fake_release ( ) . name ( "dummy" ) . version ( "0.2.0" )
599
+ . build_result_successful ( false ) . create ( ) . unwrap ( ) ;
600
+
601
+ let web = env. frontend ( ) ;
602
+ let redirect = latest_version_redirect ( "/dummy/0.1.0/dummy/" , web) ?;
603
+ assert_eq ! ( redirect, "/crate/dummy/0.2.0" ) ;
604
+
585
605
Ok ( ( ) )
586
606
} )
587
607
}
0 commit comments