File tree 1 file changed +37
-0
lines changed
1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -1447,6 +1447,7 @@ mod test {
1447
1447
}
1448
1448
1449
1449
#[ test]
1450
+ // regression test for https://github.com/rust-lang/docs.rs/pull/885#issuecomment-655154405
1450
1451
fn test_readme_rendered_as_html ( ) {
1451
1452
wrapper ( |env| {
1452
1453
let db = env. db ( ) ;
@@ -1467,4 +1468,40 @@ mod test {
1467
1468
Ok ( ( ) )
1468
1469
} )
1469
1470
}
1471
+
1472
+ #[ test]
1473
+ // regression test for https://github.com/rust-lang/docs.rs/pull/885#issuecomment-655149288
1474
+ fn test_build_status_is_accurate ( ) {
1475
+ wrapper ( |env| {
1476
+ let db = env. db ( ) ;
1477
+ db. fake_release ( )
1478
+ . name ( "hexponent" )
1479
+ . version ( "0.3.0" )
1480
+ . create ( ) ?;
1481
+ db. fake_release ( )
1482
+ . name ( "hexponent" )
1483
+ . version ( "0.2.0" )
1484
+ . build_result_successful ( false )
1485
+ . create ( ) ?;
1486
+ let web = env. frontend ( ) ;
1487
+
1488
+ let status = |version| -> Result < _ , failure:: Error > {
1489
+ let page =
1490
+ kuchiki:: parse_html ( ) . one ( web. get ( "/crate/hexponent/0.3.0" ) . send ( ) ?. text ( ) ?) ;
1491
+ let selector = format ! ( r#"ul > li a[href="/crate/hexponent/{}""# , version) ;
1492
+ let anchor = page
1493
+ . select ( & selector)
1494
+ . unwrap ( )
1495
+ . find ( |a| a. text_contents ( ) . trim ( ) == version)
1496
+ . unwrap ( ) ;
1497
+ let attributes = anchor. as_node ( ) . as_element ( ) . unwrap ( ) . attributes . borrow ( ) ;
1498
+ let classes = attributes. get ( "class" ) . unwrap ( ) ;
1499
+ Ok ( classes. split ( ' ' ) . all ( |c| c != "warn" ) )
1500
+ } ;
1501
+
1502
+ assert ! ( status( "0.3.0" ) ?) ;
1503
+ assert ! ( !status( "0.2.0" ) ?) ;
1504
+ Ok ( ( ) )
1505
+ } )
1506
+ }
1470
1507
}
You can’t perform that action at this time.
0 commit comments