MCPcopy Create free account
hub / github.com/TyberiusPrime/KeyToKey / test_sequence

Function test_sequence

src/handlers/sequence.rs:119–161  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

117 use no_std_compat::prelude::v1::*;
118 #[test]
119 fn test_sequence() {
120 use crate::key_codes::KeyCode::*;
121
122 let map = &[A.to_u32(), B.to_u32(), C.to_u32()];
123 let l = Sequence::new(map, X, 3);
124 let mut k = Keyboard::new(KeyOutCatcher::new());
125 k.output.state().unicode_mode = UnicodeSendMode::Debug;
126 k.add_handler(Box::new(l));
127 k.add_handler(Box::new(USBKeyboard::new()));
128
129 k.pc(A, &[&[A]]);
130 k.rc(A, &[&[]]);
131
132 k.pc(B, &[&[B]]);
133 k.rc(B, &[&[]]);
134
135 k.pc(C, &[&[C]]);
136 k.rc(C, &[&[BSpace], &[], &[BSpace], &[], &[BSpace], &[], &[X]]);
137
138 k.pc(A, &[&[A]]);
139 k.rc(A, &[&[]]);
140
141 k.pc(B, &[&[B]]);
142 k.rc(B, &[&[]]);
143
144 k.pc(D, &[&[D]]);
145 k.rc(D, &[&[]]);
146
147 k.pc(B, &[&[B]]);
148 k.rc(B, &[&[]]);
149
150 k.pc(C, &[&[C]]);
151 k.rc(C, &[&[]]);
152
153 k.pc(A, &[&[A]]);
154 k.rc(A, &[&[]]);
155
156 k.pc(B, &[&[B]]);
157 k.rc(B, &[&[]]);
158
159 k.pc(C, &[&[C]]);
160 k.rc(C, &[&[BSpace], &[], &[BSpace], &[], &[BSpace], &[], &[X]]);
161 }
162
163 #[test]
164 fn test_sequence_unicode_trigger() {

Callers

nothing calls this directly

Calls 5

to_u32Method · 0.80
stateMethod · 0.80
add_handlerMethod · 0.80
pcMethod · 0.80
rcMethod · 0.80

Tested by

no test coverage detected