Seregon/StratoSDK

StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.

Rust/27.3 KB/No license
crates/strato-ui-renderer/src/platform/wasm/soft_keyboard_tests.rs
StratoSDK / crates / strato-ui-renderer / src / platform / wasm / soft_keyboard_tests.rs
1use super::*;
2 
3#[test]
4fn test_map_insert_text() {
5 let event = HiddenInputEvent::InsertText {
6 text: "hello".to_string(),
7 };
8 let result = map_hidden_input_event(event);
9 assert!(matches!(result, Some(SoftKeyboardInput::TextInserted(s)) if s == "hello"));
10}
11 
12#[test]
13fn test_map_backspace() {
14 let event = HiddenInputEvent::Backspace;
15 let result = map_hidden_input_event(event);
16 assert!(matches!(result, Some(SoftKeyboardInput::Backspace)));
17}
18 
19#[test]
20fn test_map_delete() {
21 let event = HiddenInputEvent::Delete;
22 let result = map_hidden_input_event(event);
23 assert!(matches!(result, Some(SoftKeyboardInput::Backspace)));
24}
25 
26#[test]
27fn test_map_blur() {
28 let event = HiddenInputEvent::Blur;
29 let result = map_hidden_input_event(event);
30 assert!(matches!(result, Some(SoftKeyboardInput::KeyboardDismissed)));
31}
32 
33#[test]
34fn test_map_keydown_enter() {
35 let event = HiddenInputEvent::KeyDown {
36 key: "Enter".to_string(),
37 };
38 let result = map_hidden_input_event(event);
39 assert!(matches!(result, Some(SoftKeyboardInput::KeyDown(key)) if key == "Enter"));
40}
41 
42#[test]
43fn test_map_unicode_insert() {
44 let event = HiddenInputEvent::InsertText {
45 text: "👋🌍".to_string(),
46 };
47 let result = map_hidden_input_event(event);
48 assert!(matches!(result, Some(SoftKeyboardInput::TextInserted(s)) if s == "👋🌍"));
49}
50