File tree 2 files changed +40
-2
lines changed
2 files changed +40
-2
lines changed Original file line number Diff line number Diff line change 1
1
use super :: TestDatabase ;
2
- use crate :: docbuilder:: BuildResult ;
2
+ use crate :: docbuilder:: { BuildResult , DocCoverage } ;
3
3
use crate :: index:: api:: { CrateData , CrateOwner , ReleaseData } ;
4
4
use crate :: storage:: Storage ;
5
5
use crate :: utils:: { Dependency , MetadataPackage , Target } ;
@@ -59,7 +59,10 @@ impl<'a> FakeRelease<'a> {
59
59
docsrs_version : "docs.rs 1.0.0 (000000000 1970-01-01)" . into ( ) ,
60
60
build_log : "It works!" . into ( ) ,
61
61
successful : true ,
62
- doc_coverage : None ,
62
+ doc_coverage : Some ( DocCoverage {
63
+ total_items : 10 ,
64
+ documented_items : 6 ,
65
+ } ) ,
63
66
} ,
64
67
source_files : Vec :: new ( ) ,
65
68
rustdoc_files : Vec :: new ( ) ,
@@ -277,6 +280,11 @@ impl<'a> FakeRelease<'a> {
277
280
& self . registry_crate_data ,
278
281
) ?;
279
282
crate :: db:: add_build_into_database ( & mut db. conn ( ) , release_id, & self . build_result ) ?;
283
+ crate :: db:: add_doc_coverage (
284
+ & mut db. conn ( ) ,
285
+ release_id,
286
+ self . build_result . doc_coverage . clone ( ) . unwrap ( ) ,
287
+ ) ?;
280
288
281
289
Ok ( release_id)
282
290
}
Original file line number Diff line number Diff line change @@ -668,6 +668,14 @@ mod test {
668
668
node. select ( "#clipboard" ) . unwrap ( ) . count ( ) == 1
669
669
}
670
670
671
+ fn check_doc_coverage_is_present_for_path ( path : & str , web : & TestFrontend ) -> bool {
672
+ let data = web. get ( path) . send ( ) . unwrap ( ) . text ( ) . unwrap ( ) ;
673
+ let node = kuchiki:: parse_html ( ) . one ( data) ;
674
+ node. select ( ".pure-menu-heading" )
675
+ . unwrap ( )
676
+ . any ( |e| e. text_contents ( ) . contains ( "Coverage" ) )
677
+ }
678
+
671
679
#[ test]
672
680
fn test_index_returns_success ( ) {
673
681
wrapper ( |env| {
@@ -677,6 +685,28 @@ mod test {
677
685
} ) ;
678
686
}
679
687
688
+ #[ test]
689
+ fn test_doc_coverage_for_crate_pages ( ) {
690
+ wrapper ( |env| {
691
+ env. fake_release ( )
692
+ . name ( "fake_crate" )
693
+ . version ( "0.0.1" )
694
+ . source_file ( "test.rs" , & [ ] )
695
+ . create ( )
696
+ . unwrap ( ) ;
697
+ let web = env. frontend ( ) ;
698
+ assert ! ( check_doc_coverage_is_present_for_path(
699
+ "/crate/fake_crate/0.0.1" ,
700
+ web
701
+ ) ) ;
702
+ assert ! ( check_doc_coverage_is_present_for_path(
703
+ "/fake_crate/0.0.1/fake_crate" ,
704
+ web
705
+ ) ) ;
706
+ Ok ( ( ) )
707
+ } ) ;
708
+ }
709
+
680
710
#[ test]
681
711
fn test_show_clipboard_for_crate_pages ( ) {
682
712
wrapper ( |env| {
You can’t perform that action at this time.
0 commit comments