]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
More natural interface for setting keyboard leds
authorFred Sundvik <fsundvik@gmail.com>
Sun, 18 Jun 2017 21:19:09 +0000 (00:19 +0300)
committerFred Sundvik <fsundvik@gmail.com>
Sun, 18 Jun 2017 21:19:09 +0000 (00:19 +0300)
tests/basic/test.cpp
tests/test_common/test_driver.cpp
tests/test_common/test_driver.h
tests/test_common/test_fixture.cpp

index 26a09585ca046053994e8fce5c52d6fb4dee0ad9..1bd5c2762d8e41ac4993953544275e0bc7d2aa43 100644 (file)
@@ -37,7 +37,6 @@ class KeyPress : public TestFixture {};
 
 TEST_F(KeyPress, SendKeyboardIsNotCalledWhenNoKeyIsPressed) {
     TestDriver driver;
-    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
     EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0);
     keyboard_task();
 }
@@ -45,7 +44,6 @@ TEST_F(KeyPress, SendKeyboardIsNotCalledWhenNoKeyIsPressed) {
 TEST_F(KeyPress, CorrectKeyIsReportedWhenPressed) {
     TestDriver driver;
     press_key(0, 0);
-    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A)));
     keyboard_task();
 }
@@ -54,7 +52,6 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
     TestDriver driver;
     press_key(1, 0);
     press_key(0, 1);
-    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
     //Note that QMK only processes one key at a time
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B)));
     keyboard_task();
index 9e618aa978260552522a994db9e07707febaef17..feb80563a16b27062d91b179b99630f51e5d4a71 100644 (file)
@@ -27,7 +27,6 @@ TestDriver::TestDriver()
         &TestDriver::send_consumer
     }
 {
-
     host_set_driver(&m_driver);
     m_this = this;
 }
@@ -37,7 +36,7 @@ TestDriver::~TestDriver() {
 }
 
 uint8_t TestDriver::keyboard_leds(void) {
-    return m_this->keyboard_leds_mock();
+    return m_this->m_leds;
 }
 
 void TestDriver::send_keyboard(report_keyboard_t* report) {
index b1b95fbccbba4eff163d7a2e4b44adfc30b5f6bc..0123fd539b6e332be782305d0b5323ddfd911fa6 100644 (file)
@@ -27,7 +27,8 @@ class TestDriver {
 public:
     TestDriver();
     ~TestDriver();
-    MOCK_METHOD0(keyboard_leds_mock, uint8_t ());
+    void set_leds(uint8_t leds) { m_leds = leds; }
+    
     MOCK_METHOD1(send_keyboard_mock, void (report_keyboard_t&));
     MOCK_METHOD1(send_mouse_mock, void (report_mouse_t&));
     MOCK_METHOD1(send_system_mock, void (uint16_t));
@@ -39,6 +40,7 @@ private:
     static void send_system(uint16_t data);
     static void send_consumer(uint16_t data);
     host_driver_t m_driver;
+    uint8_t m_leds = 0;
     static TestDriver* m_this;
 };
 
index aff518d21ee14722be82e3bacb3d60abfc10220a..eef9b854b70f6d377aef05df3ef7f025f7cc242d 100644 (file)
@@ -27,12 +27,10 @@ TestFixture::~TestFixture() {
     // Run for a while to make sure all keys are completely released
     // Should probably wait until tapping term etc, has timed out
     EXPECT_CALL(driver, send_keyboard_mock(_)).Times(AnyNumber());
-    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
     for (int i=0; i<100; i++) {
         keyboard_task();
     }
     testing::Mock::VerifyAndClearExpectations(&driver); 
     // Verify that the matrix really is cleared
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(Between(0, 1));
-    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
 }
\ No newline at end of file