diff options
Diffstat (limited to 'tests/basic/test.cpp')
| -rw-r--r-- | tests/basic/test.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/tests/basic/test.cpp b/tests/basic/test.cpp index 398063fca..26a09585c 100644 --- a/tests/basic/test.cpp +++ b/tests/basic/test.cpp | |||
| @@ -18,10 +18,10 @@ | |||
| 18 | #include "gmock/gmock.h" | 18 | #include "gmock/gmock.h" |
| 19 | 19 | ||
| 20 | #include "quantum.h" | 20 | #include "quantum.h" |
| 21 | #include "keyboard.h" | ||
| 22 | #include "test_driver.h" | 21 | #include "test_driver.h" |
| 23 | #include "test_matrix.h" | 22 | #include "test_matrix.h" |
| 24 | #include "keyboard_report_util.h" | 23 | #include "keyboard_report_util.h" |
| 24 | #include "test_fixture.h" | ||
| 25 | 25 | ||
| 26 | using testing::_; | 26 | using testing::_; |
| 27 | using testing::Return; | 27 | using testing::Return; |
| @@ -33,35 +33,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 33 | }, | 33 | }, |
| 34 | }; | 34 | }; |
| 35 | 35 | ||
| 36 | TEST(KeyPress, SendKeyboardIsNotCalledWhenNoKeyIsPressed) { | 36 | class KeyPress : public TestFixture {}; |
| 37 | |||
| 38 | TEST_F(KeyPress, SendKeyboardIsNotCalledWhenNoKeyIsPressed) { | ||
| 37 | TestDriver driver; | 39 | TestDriver driver; |
| 38 | EXPECT_CALL(driver, send_keyboard_mock(_)); | ||
| 39 | keyboard_init(); | ||
| 40 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); | 40 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); |
| 41 | EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); | 41 | EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); |
| 42 | keyboard_task(); | 42 | keyboard_task(); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | TEST(KeyPress, CorrectKeyIsReportedWhenPressed) { | 45 | TEST_F(KeyPress, CorrectKeyIsReportedWhenPressed) { |
| 46 | TestDriver driver; | 46 | TestDriver driver; |
| 47 | EXPECT_CALL(driver, send_keyboard_mock(_)); | ||
| 48 | keyboard_init(); | ||
| 49 | press_key(0, 0); | 47 | press_key(0, 0); |
| 50 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); | 48 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); |
| 51 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); | 49 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); |
| 52 | keyboard_task(); | 50 | keyboard_task(); |
| 53 | } | 51 | } |
| 54 | 52 | ||
| 55 | TEST(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) { | 53 | TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) { |
| 56 | TestDriver driver; | 54 | TestDriver driver; |
| 57 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); | ||
| 58 | keyboard_init(); | ||
| 59 | press_key(1, 0); | 55 | press_key(1, 0); |
| 60 | press_key(0, 1); | 56 | press_key(0, 1); |
| 61 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); | 57 | EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0)); |
| 62 | //TODO: This is a left-over from the previous test and need to be fixed | ||
| 63 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); | ||
| 64 | keyboard_task(); | ||
| 65 | //Note that QMK only processes one key at a time | 58 | //Note that QMK only processes one key at a time |
| 66 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))); | 59 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B))); |
| 67 | keyboard_task(); | 60 | keyboard_task(); |
