From 1ed03f498fa204178c2696c510ac6a2cd8524e2d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 26 Nov 2023 18:36:45 +0000 Subject: Remove userspace keymaps (#22544) --- users/dennytom/chording_engine/tests/test.c | 1259 --------------------------- 1 file changed, 1259 deletions(-) delete mode 100644 users/dennytom/chording_engine/tests/test.c (limited to 'users/dennytom/chording_engine/tests/test.c') diff --git a/users/dennytom/chording_engine/tests/test.c b/users/dennytom/chording_engine/tests/test.c deleted file mode 100644 index 0cc172f0a8..0000000000 --- a/users/dennytom/chording_engine/tests/test.c +++ /dev/null @@ -1,1259 +0,0 @@ -#include "minunit.h" -#include "test_keymap.c" - -MAIN - -// CLEAR_KB -TEST("clear") - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - struct Chord* chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - struct Chord chord_storage; - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - struct Chord* chord = &chord_storage; - - *chord->state = READY; - - if (chord->counter) { - *chord->counter = 1; - } - } - - history_index++; - for (int j = 0; j < SAFE_RANGE-1; j++) { - keyboard_history[history_index][j] = 1; - } - - current_pseudolayer = 5; - lock_next = true; - autoshift_mode = false; - command_mode = 1; - in_leader_mode = true; - dynamic_macro_mode = true; - a_key_went_through = true; - - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - dynamic_macro_buffer[i] = 1; - } - - uint8_t clear_state = ACTIVATED; - struct Chord clear_chord PROGMEM = {0, QWERTY, &clear_state, NULL, 0, 0, clear}; - clear_chord.function(&clear_chord); - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - struct Chord* chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - struct Chord chord_storage; - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - struct Chord* chord = &chord_storage; - - ASSERT_EQ(UINT, *chord->state, IDLE); - - if (chord->counter) { - ASSERT_EQ(UINT, *chord->counter, 0); - } - } - - for (int j = 0; j < SAFE_RANGE-1; j++) { - ASSERT_EQ(UINT, keyboard_history[history_index][j], 0); - } - - ASSERT_EQ(UINT, current_pseudolayer, 1); - ASSERT_EQ(UINT, lock_next, false); - ASSERT_EQ(UINT, autoshift_mode, true); - ASSERT_EQ(UINT, command_mode, 0); - ASSERT_EQ(UINT, in_leader_mode, false); - ASSERT_EQ(UINT, leader_ind, 0); - ASSERT_EQ(UINT, dynamic_macro_mode, false); - ASSERT_EQ(UINT, a_key_went_through, false); - - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - ASSERT_EQ(UINT, dynamic_macro_buffer[i], 0); - } -END_TEST - -TEST("pause_ms") - pause_ms(500); - ASSERT_EQ(UINT, current_time, 500); -END_TEST - -// KC -TEST("single_dance_held_states") - ASSERT_EQ(UINT, state_1, IDLE); - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT); - ASSERT_EQ(UINT, state_1, IDLE); - pause_ms(1); - ASSERT_EQ(UINT, state_1, ACTIVATED); - pause_ms(DANCE_TIMEOUT); - ASSERT_EQ(UINT, state_1, ACTIVATED); - pause_ms(1); - ASSERT_EQ(UINT, state_1, PRESS_FROM_ACTIVE); - pause_ms(DANCE_TIMEOUT); - ASSERT_EQ(UINT, state_1, PRESS_FROM_ACTIVE); - pause_ms(1); - ASSERT_EQ(UINT, state_1, FINISHED_FROM_ACTIVE); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, state_1, IDLE); -END_TEST - -TEST("single_dance_held_codes") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - pause_ms(1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - pause_ms(DANCE_TIMEOUT); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - pause_ms(1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - pause_ms(DANCE_TIMEOUT); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - pause_ms(1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); -END_TEST - -TEST("single_dance_tapped_states") - ASSERT_EQ(UINT, state_1, IDLE); - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT); - ASSERT_EQ(UINT, state_1, IDLE); - pause_ms(1); - ASSERT_EQ(UINT, state_1, ACTIVATED); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, state_1, IDLE); -END_TEST - -TEST("single_dance_tapped_codes") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - pause_ms(1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); -END_TEST - -// I can not actually track the states if the tap is faster than chord timeout - -TEST("single_dance_tapped_fast_codes") - ASSERT_EQ(UINT, state_0, IDLE); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, keyboard_history[0][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_Q], 0); -END_TEST - -TEST("subchords_are_ignored") - ASSERT_EQ(UINT, state_0, IDLE); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_W], 0); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_ESC], 1); -END_TEST - -TEST("multiple_chords_at_once") - ASSERT_EQ(UINT, state_0, IDLE); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_E], 1); -END_TEST - -// MO -TEST("momentary_layer") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT7, &pressed); - pause_ms(1); - process_record_user(BOT8, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - process_record_user(BOT7, &depressed); - pause_ms(1); - process_record_user(BOT8, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); -END_TEST - -TEST("momentary_layer_reset") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT7, &pressed); - pause_ms(1); - process_record_user(BOT8, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - pause_ms(DANCE_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - process_record_user(BOT7, &depressed); - pause_ms(1); - process_record_user(BOT8, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); -END_TEST - -TEST("momentary_layer_alt") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - - process_record_user(TOP8, &pressed); - pause_ms(1); - process_record_user(TOP9, &pressed); - pause_ms(1); - process_record_user(TOP0, &pressed); - pause_ms(1); - process_record_user(BOT8, &pressed); - pause_ms(1); - process_record_user(BOT9, &pressed); - pause_ms(1); - process_record_user(BOT0, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - process_record_user(TOP8, &depressed); - pause_ms(1); - process_record_user(TOP9, &depressed); - pause_ms(1); - process_record_user(TOP0, &depressed); - pause_ms(1); - process_record_user(BOT8, &depressed); - pause_ms(1); - process_record_user(BOT9, &depressed); - pause_ms(1); - process_record_user(BOT0, &depressed); - - ASSERT_EQ(UINT, current_pseudolayer, FNC); -END_TEST - -// DF -TEST("permanent_layer") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT9, &pressed); - pause_ms(1); - process_record_user(BOT0, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - process_record_user(BOT9, &depressed); - pause_ms(1); - process_record_user(BOT0, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - pause_ms(1000); - ASSERT_EQ(UINT, current_pseudolayer, NUM); -END_TEST - -// AT -TEST("autoshift_toggle") - ASSERT_EQ(UINT, autoshift_mode, 1); - uint8_t state = ACTIVATED; - struct Chord chord PROGMEM = {0, QWERTY, &state, NULL, 0, 0, autoshift_toggle}; - chord.function(&chord); - ASSERT_EQ(UINT, autoshift_mode, 0); - state = ACTIVATED; - chord.function(&chord); - ASSERT_EQ(UINT, autoshift_mode, 1); -END_TEST - -// AS -TEST("autoshift_tap") - process_record_user(BOT1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(BOT1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[0][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_Z], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 0); -END_TEST - -TEST("autoshift_hold") - process_record_user(BOT1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(LONG_PRESS_MULTIPLIER * (DANCE_TIMEOUT + 1)); - process_record_user(BOT1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[0][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[2][KC_Z], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[3][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[4][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_LSFT], 0); -END_TEST - -TEST("autoshift_hold_off") - autoshift_mode = 0; - process_record_user(BOT1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(LONG_PRESS_MULTIPLIER * (DANCE_TIMEOUT + 1)); - process_record_user(BOT1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[0][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_Z], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_Z], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 0); -END_TEST - -// LOCK -TEST("lock") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT1, &pressed); - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - process_record_user(BOT1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - pause_ms(1); - process_record_user(BOT2, &depressed); - pause_ms(1); - process_record_user(TOP1, &pressed); - process_record_user(TOP2, &pressed); - process_record_user(BOT1, &pressed); - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP2, &depressed); - process_record_user(BOT1, &depressed); - process_record_user(BOT2, &depressed); - pause_ms(1); - process_record_user(BOT1, &pressed); - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - process_record_user(BOT1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - pause_ms(1); - process_record_user(BOT2, &depressed); - pause_ms(1000); - process_record_user(BOT1, &pressed); - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT1, &depressed); - pause_ms(1); - process_record_user(BOT2, &depressed); - pause_ms(1000); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); -END_TEST - -// OSK -TEST("one_shot_key_tap") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT2, &pressed); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT2, &depressed); - pause_ms(1); - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - pause_ms(1000); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); -END_TEST - -TEST("one_shot_key_hold") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT2, &pressed); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(DANCE_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - - process_record_user(BOT2, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); -END_TEST - -TEST("one_shot_key_retrotapping") - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT2, &pressed); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(DANCE_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); - - pause_ms(1000); - - process_record_user(BOT2, &depressed); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 1); -END_TEST - -// OSL -TEST("one_shot_layer_tap") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT6, &pressed); - process_record_user(BOT7, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT6, &depressed); - pause_ms(1); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - pause_ms(1000); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); -END_TEST - -TEST("one_shot_layer_hold") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT6, &pressed); - process_record_user(BOT7, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(DANCE_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - process_record_user(BOT6, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); -END_TEST - -TEST("one_shot_layer_retrotapping") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT6, &pressed); - process_record_user(BOT7, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(DANCE_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - pause_ms(1000); - - process_record_user(BOT6, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); -END_TEST - -// CMD -TEST("command_mode") - // start recording - process_record_user(TOP5, &pressed); - process_record_user(TOP6, &pressed); - process_record_user(BOT5, &pressed); - process_record_user(BOT6, &pressed); - pause_ms(1); - process_record_user(TOP5, &depressed); - process_record_user(TOP6, &depressed); - process_record_user(BOT5, &depressed); - process_record_user(BOT6, &depressed); - - ASSERT_EQ(UINT, command_mode, 1); - - // record shift+q - process_record_user(BOT1, &pressed); - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(BOT1, &depressed); - process_record_user(BOT2, &depressed); - pause_ms(1000); - - process_record_user(TOP1, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - process_record_user(TOP1, &depressed); - pause_ms(1000); - - - ASSERT_EQ(UINT, keyboard_history[history_index][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[history_index][KC_LSFT], 0); - // execute - process_record_user(TOP5, &pressed); - process_record_user(TOP6, &pressed); - process_record_user(BOT5, &pressed); - process_record_user(BOT6, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - - ASSERT_EQ(UINT, command_mode, 0); - - // test history - ASSERT_EQ(UINT, keyboard_history[0][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[2][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[3][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[4][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[5][KC_Q], 255); - ASSERT_EQ(UINT, keyboard_history[5][KC_LSFT], 255); -END_TEST - -// KK -TEST("key_key_dance_tap") - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - process_record_user(BOT2, &depressed); - - ASSERT_EQ(UINT, keyboard_history[0][KC_X], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LCTL], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_X], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LCTL], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_X], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LCTL], 0); -END_TEST - -TEST("key_key_dance_hold") - process_record_user(BOT2, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - pause_ms(DANCE_TIMEOUT + 1); - process_record_user(BOT2, &depressed); - - ASSERT_EQ(UINT, keyboard_history[0][KC_X], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_LCTL], 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_X], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_LCTL], 1); - - ASSERT_EQ(UINT, keyboard_history[2][KC_X], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LCTL], 0); -END_TEST - -// KL -TEST("key_layer_tap") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[0][KC_C], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_C], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_C], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_C], 255); -END_TEST - -TEST("key_layer_retrotapping") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT3, &pressed); - pause_ms(1000); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[0][KC_C], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_C], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_C], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_C], 255); -END_TEST - -TEST("key_layer_hold_quick_typist") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - pause_ms(1); - - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - - ASSERT_EQ(UINT, keyboard_history[0][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[6][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[7][KC_1], 255); -END_TEST - -TEST("key_layer_hold_slow_typist") - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - process_record_user(BOT3, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, NUM); - pause_ms(1); - - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - - ASSERT_EQ(UINT, keyboard_history[0][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[6][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[7][KC_1], 255); -END_TEST - -// KM -TEST("key_mod_tap") - ASSERT_EQ(UINT, keyboard_history[0][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_V], 0); - process_record_user(BOT4, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_V], 0); - process_record_user(BOT4, &depressed); - ASSERT_EQ(UINT, keyboard_history[2][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_V], 0); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[3][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_V], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_LALT], 255); - ASSERT_EQ(UINT, keyboard_history[5][KC_V], 255); -END_TEST - -TEST("key_mod_retrotapping") - ASSERT_EQ(UINT, keyboard_history[0][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_V], 0); - process_record_user(BOT4, &pressed); - pause_ms(1000); - ASSERT_EQ(UINT, keyboard_history[1][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_V], 0); - process_record_user(BOT4, &depressed); - ASSERT_EQ(UINT, keyboard_history[2][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_V], 0); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[3][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_V], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_LALT], 255); - ASSERT_EQ(UINT, keyboard_history[5][KC_V], 255); -END_TEST - -TEST("key_mod_hold_quick_typist") - process_record_user(BOT4, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - - process_record_user(BOT4, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - - ASSERT_EQ(UINT, keyboard_history[0][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[5][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[6][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[6][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[7][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[7][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[8][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[8][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[9][KC_LALT], 255); - ASSERT_EQ(UINT, keyboard_history[9][KC_V], 255); -END_TEST - -TEST("key_mod_hold_slow_typist") - process_record_user(BOT4, &pressed); - pause_ms(CHORD_TIMEOUT + 1); - - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - pause_ms(1000); - process_record_user(TOP1, &pressed); - pause_ms(1000); - process_record_user(TOP1, &depressed); - pause_ms(1000); - - process_record_user(BOT4, &depressed); - ASSERT_EQ(UINT, current_pseudolayer, QWERTY); - - ASSERT_EQ(UINT, keyboard_history[0][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[0][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[5][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[5][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[6][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[6][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[6][KC_Q], 1); - ASSERT_EQ(UINT, keyboard_history[7][KC_LALT], 1); - ASSERT_EQ(UINT, keyboard_history[7][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[7][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[8][KC_LALT], 0); - ASSERT_EQ(UINT, keyboard_history[8][KC_V], 0); - ASSERT_EQ(UINT, keyboard_history[8][KC_Q], 0); - ASSERT_EQ(UINT, keyboard_history[9][KC_LALT], 255); - ASSERT_EQ(UINT, keyboard_history[9][KC_V], 255); - ASSERT_EQ(UINT, keyboard_history[9][KC_Q], 255); -END_TEST - -// LEADER -TEST("leader_triggers_global") - uint8_t state = ACTIVATED; - struct Chord chord PROGMEM = {0, QWERTY, &state, NULL, 0, 0, leader}; - chord.function(&chord); - - ASSERT_EQ(UINT, in_leader_mode, 1); -END_TEST - -TEST("leader_no_follow") - uint8_t state = ACTIVATED; - struct Chord chord PROGMEM = {0, QWERTY, &state, NULL, 0, 0, leader}; - chord.function(&chord); - - ASSERT_EQ(UINT, in_leader_mode, 1); - - pause_ms(1000); - - ASSERT_EQ(UINT, in_leader_mode, 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_O], 255); -END_TEST - -TEST("leader_wrong_follow") - process_record_user(TOP2, &pressed); - process_record_user(TOP3, &pressed); - process_record_user(BOT2, &pressed); - process_record_user(BOT3, &pressed); - pause_ms(1); - process_record_user(TOP2, &depressed); - process_record_user(TOP3, &depressed); - process_record_user(BOT2, &depressed); - process_record_user(BOT3, &depressed); - - ASSERT_EQ(UINT, in_leader_mode, 1); - - pause_ms(1); - process_record_user(TOP1, &pressed); - pause_ms(1); - process_record_user(TOP1, &depressed); - pause_ms(1); - process_record_user(TOP2, &pressed); - pause_ms(1); - process_record_user(TOP2, &depressed); - - pause_ms(LEADER_TIMEOUT); - pause_ms(1); - - ASSERT_EQ(UINT, in_leader_mode, 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_Q], 255); -END_TEST - -TEST("leader_correct_follow") - process_record_user(TOP2, &pressed); - process_record_user(TOP3, &pressed); - process_record_user(BOT2, &pressed); - process_record_user(BOT3, &pressed); - pause_ms(1); - process_record_user(TOP2, &depressed); - process_record_user(TOP3, &depressed); - process_record_user(BOT2, &depressed); - process_record_user(BOT3, &depressed); - - ASSERT_EQ(UINT, in_leader_mode, 1); - - pause_ms(1); - process_record_user(TOP0, &pressed); - pause_ms(1); - process_record_user(TOP0, &depressed); - pause_ms(1); - process_record_user(TOP9, &pressed); - pause_ms(1); - process_record_user(TOP9, &depressed); - - pause_ms(LEADER_TIMEOUT); - ASSERT_EQ(UINT, in_leader_mode, 1); - - pause_ms(1); - ASSERT_EQ(UINT, in_leader_mode, 0); - - ASSERT_EQ(UINT, keyboard_history[1][KC_O], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_P], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_A], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_S], 1); - - ASSERT_EQ(UINT, keyboard_history[2][KC_O], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_P], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_A], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_S], 0); - - ASSERT_EQ(UINT, keyboard_history[3][KC_O], 255); - ASSERT_EQ(UINT, keyboard_history[3][KC_P], 255); - ASSERT_EQ(UINT, keyboard_history[3][KC_A], 255); - ASSERT_EQ(UINT, keyboard_history[3][KC_S], 255); - - ASSERT_EQ(UINT, keyboard_history[4][KC_O], 255); - ASSERT_EQ(UINT, keyboard_history[4][KC_P], 255); - ASSERT_EQ(UINT, keyboard_history[4][KC_A], 255); - ASSERT_EQ(UINT, keyboard_history[4][KC_S], 255); - - ASSERT_EQ(UINT, keyboard_history[5][KC_Q], 255); -END_TEST - -// DYNAMIC MACRO -TEST("dynamic_macro_record_mode") - current_pseudolayer = NUM; - - // record - ASSERT_EQ(UINT, dynamic_macro_mode, 0); - process_record_user(BOT7, &pressed); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); - pause_ms(1000); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); -END_TEST - -TEST("dynamic_macro_record_mode_off") - current_pseudolayer = NUM; - - process_record_user(BOT7, &pressed); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); - - process_record_user(BOT9, &pressed); - process_record_user(BOT9, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 0); -END_TEST - -TEST("dynamic_macro_record_one") - current_pseudolayer = NUM; - - process_record_user(BOT7, &pressed); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); - - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 255); - - process_record_user(BOT9, &pressed); - process_record_user(BOT9, &depressed); - - pause_ms(1000); - - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 255); - - pause_ms(1000); - - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 255); -END_TEST - -TEST("dynamic_macro_record_two") - current_pseudolayer = NUM; - - process_record_user(BOT7, &pressed); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); - - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - - process_record_user(TOP2, &pressed); - process_record_user(TOP2, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 255); - - process_record_user(BOT9, &pressed); - process_record_user(BOT9, &depressed); - - pause_ms(1000); - - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 255); -END_TEST - -TEST("dynamic_macro_record_two_parts") - current_pseudolayer = NUM; - - process_record_user(BOT7, &pressed); - process_record_user(BOT7, &depressed); - ASSERT_EQ(UINT, dynamic_macro_mode, 1); - - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - - process_record_user(TOP2, &pressed); - process_record_user(TOP2, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 255); - - process_record_user(BOT8, &pressed); - process_record_user(BOT8, &depressed); - - process_record_user(TOP3, &pressed); - process_record_user(TOP3, &depressed); - - process_record_user(BOT9, &pressed); - process_record_user(BOT9, &depressed); - - pause_ms(1000); - - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_3], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_3], 0); - - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[3][KC_3], 0); - - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_3], 0); - - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_3], 1); - - ASSERT_EQ(UINT, keyboard_history[6][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[6][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[6][KC_3], 0); - - ASSERT_EQ(UINT, keyboard_history[7][KC_1], 255); -END_TEST - -// dance + M() - -TEST("dance_tap") - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[1][KC_9], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_0], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_9], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_0], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_9], 255); -END_TEST - -TEST("dance_hold") - process_record_user(BOT0, &pressed); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[1][KC_9], 1); - - process_record_user(BOT0, &depressed); - ASSERT_EQ(UINT, keyboard_history[2][KC_9], 0); -END_TEST - -TEST("dance_tap_tap") - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[1][KC_9], 0); - ASSERT_EQ(UINT, keyboard_history[1][KC_0], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_9], 0); - ASSERT_EQ(UINT, keyboard_history[2][KC_0], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_9], 255); -END_TEST - -TEST("dance_tap_hold") - process_record_user(BOT0, &pressed); - process_record_user(BOT0, &depressed); - pause_ms(1); - process_record_user(BOT0, &pressed); - pause_ms(1000); - - ASSERT_EQ(UINT, keyboard_history[1][KC_0], 1); - - process_record_user(BOT0, &depressed); - ASSERT_EQ(UINT, keyboard_history[2][KC_0], 0); -END_TEST - -// MK -TEST("multiple_keys") - current_pseudolayer = NUM; - - process_record_user(BOT1, &pressed); - process_record_user(BOT1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_LCTL], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_LCTL], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[3][KC_LCTL], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[4][KC_LCTL], 0); - ASSERT_EQ(UINT, keyboard_history[4][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[5][KC_LCTL], 255); -END_TEST - -TEST("multiple_keys_interleaved") - current_pseudolayer = NUM; - - process_record_user(BOT1, &pressed); - pause_ms(CHORD_TIMEOUT+1); - - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - process_record_user(TOP1, &pressed); - process_record_user(TOP1, &depressed); - - process_record_user(BOT1, &depressed); - - ASSERT_EQ(UINT, keyboard_history[1][KC_LCTL], 1); - ASSERT_EQ(UINT, keyboard_history[1][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[2][KC_LCTL], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[6][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[7][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[8][KC_1], 0); - - ASSERT_EQ(UINT, keyboard_history[9][KC_LCTL], 0); - ASSERT_EQ(UINT, keyboard_history[9][KC_LSFT], 1); - - ASSERT_EQ(UINT, keyboard_history[10][KC_LCTL], 0); - ASSERT_EQ(UINT, keyboard_history[10][KC_LSFT], 0); - - ASSERT_EQ(UINT, keyboard_history[11][KC_LCTL], 255); -END_TEST - -// D -TEST("dance_one") - current_pseudolayer = NUM; - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 255); - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_1], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_1], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_1], 255); -END_TEST - -TEST("dance_two") - current_pseudolayer = NUM; - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_2], 255); - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_2], 255); -END_TEST - -TEST("dance_three") - current_pseudolayer = NUM; - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_3], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_3], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_3], 255); - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_3], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_3], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_3], 1); - ASSERT_EQ(UINT, keyboard_history[4][KC_3], 0); - ASSERT_EQ(UINT, keyboard_history[5][KC_3], 255); -END_TEST - -TEST("dance_two_held") - current_pseudolayer = NUM; - - process_record_user(BOT3, &pressed); - process_record_user(BOT3, &depressed); - process_record_user(BOT3, &pressed); - - pause_ms(CHORD_TIMEOUT+DANCE_TIMEOUT+2); - - ASSERT_EQ(UINT, keyboard_history[1][KC_2], 1); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 255); - - process_record_user(BOT3, &depressed); - ASSERT_EQ(UINT, keyboard_history[2][KC_2], 0); - ASSERT_EQ(UINT, keyboard_history[3][KC_2], 255); -END_TEST - -// These two are leaving the chording engine, they kinda have to be tested manually -// TO -// RESET - -END -- cgit v1.2.3