MCPcopy Index your code
hub / github.com/endbasic/endbasic / test_sdl_console_read_key

Function test_sdl_console_read_key

sdl/src/console.rs:786–816  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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() {

Callers

nothing calls this directly

Calls 5

consoleMethod · 0.80
verifyMethod · 0.80
key_downFunction · 0.70
push_eventMethod · 0.45
read_keyMethod · 0.45

Tested by

no test coverage detected