()
| 784 | |
| 785 | #[test] |
| 786 | fn test_sdl_console_read_key() { |
| 787 | let mut test = SdlTest::default(); |
| 788 | |
| 789 | test.push_event(Event::Quit { timestamp: 0 }); |
| 790 | assert_eq!(Key::EofOrDelete, block_on(test.console().read_key()).unwrap()); |
| 791 | |
| 792 | test.push_event(key_down(Keycode::C, Mod::LCTRLMOD)); |
| 793 | assert_eq!(Key::Interrupt, block_on(test.console().read_key()).unwrap()); |
| 794 | assert_eq!(Signal::Break, test.wait_one_signal()); |
| 795 | test.push_event(key_down(Keycode::C, Mod::RCTRLMOD)); |
| 796 | assert_eq!(Key::Interrupt, block_on(test.console().read_key()).unwrap()); |
| 797 | assert_eq!(Signal::Break, test.wait_one_signal()); |
| 798 | |
| 799 | test.push_event(key_down(Keycode::D, Mod::LCTRLMOD)); |
| 800 | assert_eq!(Key::EofOrDelete, block_on(test.console().read_key()).unwrap()); |
| 801 | test.push_event(key_down(Keycode::D, Mod::RCTRLMOD)); |
| 802 | assert_eq!(Key::EofOrDelete, block_on(test.console().read_key()).unwrap()); |
| 803 | |
| 804 | test.push_event(key_down(Keycode::D, Mod::empty())); |
| 805 | test.push_event(key_down(Keycode::Up, Mod::empty())); |
| 806 | match block_on(test.console().read_key()).unwrap() { |
| 807 | Key::ArrowUp => (), |
| 808 | Key::Char('d') => panic!("Char key not ignored as intended"), |
| 809 | key => panic!("Unexpected key {:?}", key), |
| 810 | }; |
| 811 | |
| 812 | // TODO(jmmv): We aren't testing textual input because push_event doesn't support injecting |
| 813 | // Event::TextInput events. |
| 814 | |
| 815 | test.verify("sdl/src", "sdl-empty"); |
| 816 | } |
| 817 | |
| 818 | #[test] |
| 819 | fn test_sdl_console_draw() { |
nothing calls this directly
no test coverage detected