summary refs log tree commit diff
path: root/tests/basic
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2017-06-16 23:50:44 +0300
committerFred Sundvik <fsundvik@gmail.com>2017-06-18 21:22:22 +0300
commit3bb0586acc6472380365d78ee81a332aca468239 (patch)
treed8b4e194d9f39216e53e9aaa4b944679dfa567f3 /tests/basic
parent617578399cf1a0fff70ceeb21d63a06524c801a3 (diff)
Add a couple of basic tests and implement driver mock
Diffstat (limited to 'tests/basic')
-rw-r--r--tests/basic/test.cpp (renamed from tests/basic/test.c)26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/basic/test.c b/tests/basic/test.cpp
index 2afb4d6a96..ce9a0cd726 100644
--- a/tests/basic/test.c
+++ b/tests/basic/test.cpp
@@ -14,7 +14,16 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "gtest/gtest.h"
+#include "gmock/gmock.h"
+
 #include "quantum.h"
+#include "keyboard.h"
+#include "test_driver.h"
+#include "test_matrix.h"
+
+using testing::_;
+using testing::Return;
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	[0] = {
@@ -22,3 +31,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 	    {KC_C, KC_D}
 	},
 };
+
+TEST(Basic, SendKeyboardIsNotCalledWhenNoKeyIsPressed) {
+    keyboard_init();
+    TestDriver driver;
+    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
+    EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0);
+    keyboard_task();
+}
+
+TEST(Basic, SendKeyboardIsCalledWhenAKeyIsPressed) {
+    keyboard_init();
+    TestDriver driver;
+    press_key(0, 0);
+    EXPECT_CALL(driver, keyboard_leds_mock()).WillRepeatedly(Return(0));
+    EXPECT_CALL(driver, send_keyboard_mock(_));
+    keyboard_task();
+}