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