File tree Expand file tree Collapse file tree 3 files changed +39
-15
lines changed Expand file tree Collapse file tree 3 files changed +39
-15
lines changed Original file line number Diff line number Diff line change @@ -210,12 +210,8 @@ impl<'a> FakeRelease<'a> {
210210 self
211211 }
212212
213- pub ( crate ) fn features ( mut self , opt_features : Option < HashMap < String , Vec < String > > > ) -> Self {
214- if let Some ( features) = opt_features {
215- self . package . features = features;
216- } else {
217- self . package . features = HashMap :: new ( ) ;
218- }
213+ pub ( crate ) fn features ( mut self , features : HashMap < String , Vec < String > > ) -> Self {
214+ self . package . features = features;
219215 self
220216 }
221217
Original file line number Diff line number Diff line change @@ -751,8 +751,7 @@ mod tests {
751751 env. fake_release ( )
752752 . name ( "library" )
753753 . version ( "0.1.0" )
754- . binary ( false )
755- . features ( None )
754+ . features ( HashMap :: new ( ) )
756755 . create ( ) ?;
757756
758757 let page = kuchiki:: parse_html ( ) . one (
@@ -776,8 +775,7 @@ mod tests {
776775 env. fake_release ( )
777776 . name ( "library" )
778777 . version ( "0.1.0" )
779- . binary ( false )
780- . features ( Some ( features) )
778+ . features ( features)
781779 . create ( ) ?;
782780
783781 let page = kuchiki:: parse_html ( ) . one (
@@ -801,8 +799,7 @@ mod tests {
801799 env. fake_release ( )
802800 . name ( "library" )
803801 . version ( "0.1.0" )
804- . binary ( false )
805- . features ( Some ( features) )
802+ . features ( features)
806803 . create ( ) ?;
807804
808805 let page = kuchiki:: parse_html ( ) . one (
@@ -819,4 +816,29 @@ mod tests {
819816 Ok ( ( ) )
820817 } ) ;
821818 }
819+
820+ #[ test]
821+ fn feature_flags_report_null ( ) {
822+ wrapper ( |env| {
823+ env. fake_release ( )
824+ . name ( "library" )
825+ . version ( "0.1.0" )
826+ . features ( HashMap :: new ( ) )
827+ . create ( ) ?;
828+
829+ env. db ( ) . conn ( ) . query (
830+ "releases SET features = NULL WHERE release_id = $1" ,
831+ & [ & "0.1.0" ] ,
832+ ) ;
833+
834+ let page = kuchiki:: parse_html ( ) . one (
835+ env. frontend ( )
836+ . get ( "/crate/library/0.1.0/features" )
837+ . send ( ) ?
838+ . text ( ) ?,
839+ ) ;
840+ assert ! ( page. select_first( r#"p[data-id="null-features"]"# ) . is_ok( ) ) ;
841+ Ok ( ( ) )
842+ } ) ;
843+ }
822844}
Original file line number Diff line number Diff line change 3434 </ a >
3535 </ li >
3636 {%- endfor -%}
37+ {%- elif metadata.features is defined -%}
38+ < li class ="pure-menu-item ">
39+ < span style ="font-size: 13px; "> This release does not have any feature flags.</ span >
40+ </ li >
3741 {%- else -%}
3842 < li class ="pure-menu-item ">
39- < span style ="font-size: 13px; "> Feature flags are not available for this version .</ span >
43+ < span style ="font-size: 13px; "> Feature flags data are not available for this release .</ span >
4044 </ li >
4145 {%- endif -%}
4246 </ ul >
@@ -52,7 +56,7 @@ <h1>{{ metadata.name }}</h1>
5256 {%- else -%}
5357 0
5458 {%- endif -%}
55- </ b > of them being enabled by < b > default</ b > .</ p >
59+ </ b > of them enabled by < b > default</ b > .</ p >
5660 {%- for feature in metadata.features -%}
5761 < h3 id ="{{ feature.name }} "> {{ feature.name }}</ h3 >
5862 < ul class ="pure-menu-list ">
@@ -67,8 +71,10 @@ <h3 id="{{ feature.name }}">{{ feature.name }}</h3>
6771 {%- endif -%}
6872 </ ul >
6973 {%- endfor -%}
74+ {%- elif metadata.features is defined -%}
75+ < p data-id ="empty-features "> This release does not have any feature flags.</ p >
7076 {%- else -%}
71- < p data-id ="empty -features "> Feature flags are not available for this release.</ p >
77+ < p data-id ="null -features "> Feature flags data are not available for this release.</ p >
7278 {%- endif -%}
7379 </ div >
7480 </ div >
You can’t perform that action at this time.
0 commit comments