File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -154,3 +154,31 @@ impl Plugin for IntrospectionPlugin {
154154 Err ( format_err ! ( "introspection plugin lagged" ) )
155155 }
156156}
157+
158+ #[ cfg( test) ]
159+ mod tests {
160+ use super :: * ;
161+
162+ #[ test]
163+ fn test_format_duration ( ) -> Result < ( ) > {
164+ // Just minutes
165+ assert_eq ! ( format_duration( & Duration :: minutes( 5 ) ) ?, "00:05" ) ;
166+ assert_eq ! ( format_duration( & Duration :: minutes( 45 ) ) ?, "00:45" ) ;
167+
168+ // Hours and minutes
169+ assert_eq ! ( format_duration( & Duration :: hours( 1 ) ) ?, "01:00" ) ;
170+ assert_eq ! ( format_duration( & Duration :: new( 5400 , 0 ) ) ?, "01:30" ) ; // 1.5 hours
171+ assert_eq ! ( format_duration( & ( Duration :: hours( 23 ) + Duration :: minutes( 59 ) ) ) ?, "23:59" ) ;
172+
173+ // Days, hours, and minutes
174+ assert_eq ! ( format_duration( & Duration :: days( 1 ) ) ?, "1 days 00:00" ) ;
175+ assert_eq ! ( format_duration( & ( Duration :: days( 1 ) + Duration :: hours( 2 ) + Duration :: minutes( 30 ) ) ) ?, "1 days 02:30" ) ;
176+ assert_eq ! ( format_duration( & Duration :: days( 7 ) ) ?, "7 days 00:00" ) ;
177+ assert_eq ! ( format_duration( & ( Duration :: days( 10 ) + Duration :: hours( 5 ) + Duration :: minutes( 15 ) ) ) ?, "10 days 05:15" ) ;
178+
179+ // Edge case: zero duration
180+ assert_eq ! ( format_duration( & Duration :: ZERO ) ?, "00:00" ) ;
181+
182+ Ok ( ( ) )
183+ }
184+ }
You can’t perform that action at this time.
0 commit comments