@@ -533,6 +533,23 @@ mod test {
533
533
destroy_game ( & mut game_ptr) ;
534
534
}
535
535
536
+ #[ test]
537
+ fn open_with_zero_buffer ( ) {
538
+ let mut game_ptr = create_game ( GameLevel :: Beginner ) ;
539
+ let mut buffered_open_info = create_open_info_with_size ( 5 ) ;
540
+ buffered_open_info. data . newly_opened_fields_max_length = 0 ;
541
+ let mut error_info = create_empty_error_info ( ) ;
542
+ minesweeper_game_open (
543
+ game_ptr,
544
+ 0 ,
545
+ 0 ,
546
+ & mut buffered_open_info. data ,
547
+ & mut error_info,
548
+ ) ;
549
+ assert_eq ! ( CError :: InsufficientBuffer , error_info. error_code) ;
550
+ destroy_game ( & mut game_ptr) ;
551
+ }
552
+
536
553
#[ test]
537
554
fn open_with_insufficient_buffer ( ) {
538
555
let mut game_ptr = create_game ( GameLevel :: Beginner ) ;
@@ -607,6 +624,29 @@ mod test {
607
624
destroy_game ( & mut game_ptr) ;
608
625
}
609
626
627
+ #[ test]
628
+ fn toggle_with_nullptr_as_game ( ) {
629
+ let mut flag_result = FlagResult :: AlreadyOpened ;
630
+ let mut error_info = create_empty_error_info ( ) ;
631
+ minesweeper_game_toggle_flag (
632
+ std:: ptr:: null_mut ( ) ,
633
+ 0 ,
634
+ 0 ,
635
+ & mut flag_result,
636
+ & mut error_info,
637
+ ) ;
638
+ assert_eq ! ( CError :: NullPointerAsInput , error_info. error_code) ;
639
+ }
640
+
641
+ #[ test]
642
+ fn toggle_with_nullptr_as_flag_result ( ) {
643
+ let mut game_ptr = create_game ( GameLevel :: Beginner ) ;
644
+ let mut error_info = create_empty_error_info ( ) ;
645
+ minesweeper_game_toggle_flag ( game_ptr, 0 , 0 , std:: ptr:: null_mut ( ) , & mut error_info) ;
646
+ assert_eq ! ( CError :: NullPointerAsInput , error_info. error_code) ;
647
+ destroy_game ( & mut game_ptr) ;
648
+ }
649
+
610
650
#[ test]
611
651
fn flag_opened ( ) {
612
652
let mut game_ptr = create_game ( GameLevel :: Beginner ) ;
0 commit comments