summaryrefslogtreecommitdiff
path: root/tests/basic/test_action_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic/test_action_layer.cpp')
-rw-r--r--tests/basic/test_action_layer.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/tests/basic/test_action_layer.cpp b/tests/basic/test_action_layer.cpp
index fe5c729f7c..fa339a3375 100644
--- a/tests/basic/test_action_layer.cpp
+++ b/tests/basic/test_action_layer.cpp
@@ -131,12 +131,12 @@ TEST_F(ActionLayer, MomentaryLayerDoesNothing) {
131 set_keymap({layer_key}); 131 set_keymap({layer_key});
132 132
133 /* Press and release MO, nothing should happen. */ 133 /* Press and release MO, nothing should happen. */
134 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 134 EXPECT_NO_REPORT(driver);
135 layer_key.press(); 135 layer_key.press();
136 run_one_scan_loop(); 136 run_one_scan_loop();
137 testing::Mock::VerifyAndClearExpectations(&driver); 137 testing::Mock::VerifyAndClearExpectations(&driver);
138 138
139 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 139 EXPECT_NO_REPORT(driver);
140 layer_key.release(); 140 layer_key.release();
141 run_one_scan_loop(); 141 run_one_scan_loop();
142 testing::Mock::VerifyAndClearExpectations(&driver); 142 testing::Mock::VerifyAndClearExpectations(&driver);
@@ -151,28 +151,28 @@ TEST_F(ActionLayer, MomentaryLayerWithKeypress) {
151 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); 151 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}});
152 152
153 /* Press MO. */ 153 /* Press MO. */
154 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 154 EXPECT_NO_REPORT(driver);
155 layer_key.press(); 155 layer_key.press();
156 run_one_scan_loop(); 156 run_one_scan_loop();
157 EXPECT_TRUE(layer_state_is(1)); 157 EXPECT_TRUE(layer_state_is(1));
158 testing::Mock::VerifyAndClearExpectations(&driver); 158 testing::Mock::VerifyAndClearExpectations(&driver);
159 159
160 /* Press key on layer 1 */ 160 /* Press key on layer 1 */
161 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))).Times(1); 161 EXPECT_REPORT(driver, (KC_B)).Times(1);
162 regular_key.press(); 162 regular_key.press();
163 run_one_scan_loop(); 163 run_one_scan_loop();
164 EXPECT_TRUE(layer_state_is(1)); 164 EXPECT_TRUE(layer_state_is(1));
165 testing::Mock::VerifyAndClearExpectations(&driver); 165 testing::Mock::VerifyAndClearExpectations(&driver);
166 166
167 /* Release key on layer 1 */ 167 /* Release key on layer 1 */
168 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); 168 EXPECT_EMPTY_REPORT(driver);
169 regular_key.release(); 169 regular_key.release();
170 run_one_scan_loop(); 170 run_one_scan_loop();
171 EXPECT_TRUE(layer_state_is(1)); 171 EXPECT_TRUE(layer_state_is(1));
172 testing::Mock::VerifyAndClearExpectations(&driver); 172 testing::Mock::VerifyAndClearExpectations(&driver);
173 173
174 /* Release MO */ 174 /* Release MO */
175 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 175 EXPECT_NO_REPORT(driver);
176 layer_key.release(); 176 layer_key.release();
177 run_one_scan_loop(); 177 run_one_scan_loop();
178 EXPECT_TRUE(layer_state_is(0)); 178 EXPECT_TRUE(layer_state_is(0));
@@ -188,14 +188,14 @@ TEST_F(ActionLayer, ToggleLayerDoesNothing) {
188 set_keymap({layer_key}); 188 set_keymap({layer_key});
189 189
190 /* Press TG. Layer state should not change as it's applied on release. */ 190 /* Press TG. Layer state should not change as it's applied on release. */
191 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 191 EXPECT_NO_REPORT(driver);
192 layer_key.press(); 192 layer_key.press();
193 run_one_scan_loop(); 193 run_one_scan_loop();
194 EXPECT_TRUE(layer_state_is(1)); 194 EXPECT_TRUE(layer_state_is(1));
195 testing::Mock::VerifyAndClearExpectations(&driver); 195 testing::Mock::VerifyAndClearExpectations(&driver);
196 196
197 /* Release TG. */ 197 /* Release TG. */
198 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 198 EXPECT_NO_REPORT(driver);
199 layer_key.release(); 199 layer_key.release();
200 run_one_scan_loop(); 200 run_one_scan_loop();
201 EXPECT_TRUE(layer_state_is(1)); 201 EXPECT_TRUE(layer_state_is(1));
@@ -212,26 +212,26 @@ TEST_F(ActionLayer, ToggleLayerUpAndDown) {
212 set_keymap({toggle_layer_1_on_layer_0, toggle_layer_0_on_layer_1}); 212 set_keymap({toggle_layer_1_on_layer_0, toggle_layer_0_on_layer_1});
213 213
214 /* Toggle Layer 1. */ 214 /* Toggle Layer 1. */
215 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 215 EXPECT_NO_REPORT(driver);
216 toggle_layer_1_on_layer_0.press(); 216 toggle_layer_1_on_layer_0.press();
217 run_one_scan_loop(); 217 run_one_scan_loop();
218 EXPECT_TRUE(layer_state_is(1)); 218 EXPECT_TRUE(layer_state_is(1));
219 testing::Mock::VerifyAndClearExpectations(&driver); 219 testing::Mock::VerifyAndClearExpectations(&driver);
220 220
221 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 221 EXPECT_NO_REPORT(driver);
222 toggle_layer_1_on_layer_0.release(); 222 toggle_layer_1_on_layer_0.release();
223 run_one_scan_loop(); 223 run_one_scan_loop();
224 EXPECT_TRUE(layer_state_is(1)); 224 EXPECT_TRUE(layer_state_is(1));
225 testing::Mock::VerifyAndClearExpectations(&driver); 225 testing::Mock::VerifyAndClearExpectations(&driver);
226 226
227 /* Toggle Layer 0. */ 227 /* Toggle Layer 0. */
228 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 228 EXPECT_NO_REPORT(driver);
229 toggle_layer_0_on_layer_1.press(); 229 toggle_layer_0_on_layer_1.press();
230 run_one_scan_loop(); 230 run_one_scan_loop();
231 EXPECT_TRUE(layer_state_is(0)); 231 EXPECT_TRUE(layer_state_is(0));
232 testing::Mock::VerifyAndClearExpectations(&driver); 232 testing::Mock::VerifyAndClearExpectations(&driver);
233 233
234 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 234 EXPECT_NO_REPORT(driver);
235 toggle_layer_0_on_layer_1.release(); 235 toggle_layer_0_on_layer_1.release();
236 run_one_scan_loop(); 236 run_one_scan_loop();
237 EXPECT_TRUE(layer_state_is(0)); 237 EXPECT_TRUE(layer_state_is(0));
@@ -247,13 +247,13 @@ TEST_F(ActionLayer, LayerTapToggleDoesNothing) {
247 set_keymap({layer_key}); 247 set_keymap({layer_key});
248 248
249 /* Press and release TT. */ 249 /* Press and release TT. */
250 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 250 EXPECT_NO_REPORT(driver);
251 layer_key.press(); 251 layer_key.press();
252 run_one_scan_loop(); 252 run_one_scan_loop();
253 EXPECT_TRUE(layer_state_is(1)); 253 EXPECT_TRUE(layer_state_is(1));
254 testing::Mock::VerifyAndClearExpectations(&driver); 254 testing::Mock::VerifyAndClearExpectations(&driver);
255 255
256 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 256 EXPECT_NO_REPORT(driver);
257 layer_key.release(); 257 layer_key.release();
258 run_one_scan_loop(); 258 run_one_scan_loop();
259 EXPECT_TRUE(layer_state_is(0)); 259 EXPECT_TRUE(layer_state_is(0));
@@ -271,25 +271,25 @@ TEST_F(ActionLayer, LayerTapToggleWithKeypress) {
271 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); 271 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}});
272 272
273 /* Press TT. */ 273 /* Press TT. */
274 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); 274 EXPECT_NO_REPORT(driver);
275 layer_key.press(); 275 layer_key.press();
276 run_one_scan_loop(); 276 run_one_scan_loop();
277 EXPECT_TRUE(layer_state_is(1)); 277 EXPECT_TRUE(layer_state_is(1));
278 testing::Mock::VerifyAndClearExpectations(&driver); 278 testing::Mock::VerifyAndClearExpectations(&driver);
279 279
280 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))).Times(1); 280 EXPECT_REPORT(driver, (KC_B)).Times(1);
281 regular_key.press(); 281 regular_key.press();
282 run_one_scan_loop(); 282 run_one_scan_loop();
283 EXPECT_TRUE(layer_state_is(1)); 283 EXPECT_TRUE(layer_state_is(1));
284 testing::Mock::VerifyAndClearExpectations(&driver); 284 testing::Mock::VerifyAndClearExpectations(&driver);
285 285
286 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); 286 EXPECT_EMPTY_REPORT(driver);
287 regular_key.release(); 287 regular_key.release();
288 run_one_scan_loop(); 288 run_one_scan_loop();
289 EXPECT_TRUE(layer_state_is(1)); 289 EXPECT_TRUE(layer_state_is(1));
290 testing::Mock::VerifyAndClearExpectations(&driver); 290 testing::Mock::VerifyAndClearExpectations(&driver);
291 291
292 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 292 EXPECT_NO_REPORT(driver);
293 layer_key.release(); 293 layer_key.release();
294 run_one_scan_loop(); 294 run_one_scan_loop();
295 EXPECT_TRUE(layer_state_is(0)); 295 EXPECT_TRUE(layer_state_is(0));
@@ -307,7 +307,7 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) {
307 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}}); 307 set_keymap({layer_key, regular_key, KeymapKey{1, 1, 0, KC_B}});
308 308
309 /* Tap TT five times . */ 309 /* Tap TT five times . */
310 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 310 EXPECT_NO_REPORT(driver);
311 311
312 layer_key.press(); 312 layer_key.press();
313 run_one_scan_loop(); 313 run_one_scan_loop();
@@ -346,13 +346,13 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) {
346 346
347 testing::Mock::VerifyAndClearExpectations(&driver); 347 testing::Mock::VerifyAndClearExpectations(&driver);
348 348
349 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))).Times(1); 349 EXPECT_REPORT(driver, (KC_B)).Times(1);
350 regular_key.press(); 350 regular_key.press();
351 run_one_scan_loop(); 351 run_one_scan_loop();
352 EXPECT_TRUE(layer_state_is(1)); 352 EXPECT_TRUE(layer_state_is(1));
353 testing::Mock::VerifyAndClearExpectations(&driver); 353 testing::Mock::VerifyAndClearExpectations(&driver);
354 354
355 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); 355 EXPECT_EMPTY_REPORT(driver);
356 regular_key.release(); 356 regular_key.release();
357 run_one_scan_loop(); 357 run_one_scan_loop();
358 EXPECT_TRUE(layer_state_is(1)); 358 EXPECT_TRUE(layer_state_is(1));
@@ -370,7 +370,7 @@ TEST_F(ActionLayer, LayerTapReleasedBeforeKeypressReleaseWithModifiers) {
370 set_keymap({layer_0_key_0, layer_1_key_1}); 370 set_keymap({layer_0_key_0, layer_1_key_1});
371 371
372 /* Press layer tap and wait for tapping term to switch to layer 1 */ 372 /* Press layer tap and wait for tapping term to switch to layer 1 */
373 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(0); 373 EXPECT_NO_REPORT(driver);
374 layer_0_key_0.press(); 374 layer_0_key_0.press();
375 idle_for(TAPPING_TERM); 375 idle_for(TAPPING_TERM);
376 EXPECT_TRUE(layer_state_is(0)); 376 EXPECT_TRUE(layer_state_is(0));
@@ -378,23 +378,23 @@ TEST_F(ActionLayer, LayerTapReleasedBeforeKeypressReleaseWithModifiers) {
378 378
379 /* Press key with layer 1 mapping, result basically expected 379 /* Press key with layer 1 mapping, result basically expected
380 * altough more reports are send then necessary. */ 380 * altough more reports are send then necessary. */
381 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RALT))).Times(1); 381 EXPECT_REPORT(driver, (KC_RALT)).Times(1);
382 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RALT, KC_9))).Times(1); 382 EXPECT_REPORT(driver, (KC_RALT, KC_9)).Times(1);
383 layer_1_key_1.press(); 383 layer_1_key_1.press();
384 run_one_scan_loop(); 384 run_one_scan_loop();
385 EXPECT_TRUE(layer_state_is(1)); 385 EXPECT_TRUE(layer_state_is(1));
386 testing::Mock::VerifyAndClearExpectations(&driver); 386 testing::Mock::VerifyAndClearExpectations(&driver);
387 387
388 /* Release layer tap key, no report is send because key is still held. */ 388 /* Release layer tap key, no report is send because key is still held. */
389 EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); 389 EXPECT_NO_REPORT(driver);
390 layer_0_key_0.release(); 390 layer_0_key_0.release();
391 run_one_scan_loop(); 391 run_one_scan_loop();
392 EXPECT_TRUE(layer_state_is(0)); 392 EXPECT_TRUE(layer_state_is(0));
393 testing::Mock::VerifyAndClearExpectations(&driver); 393 testing::Mock::VerifyAndClearExpectations(&driver);
394 394
395 /* Unregister keycode and modifier. */ 395 /* Unregister keycode and modifier. */
396 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RALT))).Times(1); 396 EXPECT_REPORT(driver, (KC_RALT)).Times(1);
397 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(1); 397 EXPECT_EMPTY_REPORT(driver);
398 layer_1_key_1.release(); 398 layer_1_key_1.release();
399 run_one_scan_loop(); 399 run_one_scan_loop();
400 EXPECT_TRUE(layer_state_is(0)); 400 EXPECT_TRUE(layer_state_is(0));