| 15 | }; |
| 16 | |
| 17 | TEST_F(InputMapperTest, StringToEventsSimpleString) |
| 18 | { |
| 19 | CPC.kbd_layout ="keymap_us.map"; |
| 20 | CPC.keyboard = 0; |
| 21 | CPC.InputMapper->init(); |
| 22 | |
| 23 | std::string input = "cat"; |
| 24 | |
| 25 | auto tmp = CPC.InputMapper->StringToEvents(input); |
| 26 | std::vector<SDL_Event> result(tmp.begin(), tmp.end()); |
| 27 | |
| 28 | ASSERT_EQ(6, result.size()); |
| 29 | |
| 30 | // Result must be an alternance of key down / key up |
| 31 | for(int i = 0; i < 3; ++i) { |
| 32 | ASSERT_EQ(SDL_KEYDOWN, result[2*i].key.type); |
| 33 | ASSERT_EQ(SDL_PRESSED, result[2*i].key.state); |
| 34 | ASSERT_EQ(SDL_KEYUP, result[2*i+1].key.type); |
| 35 | ASSERT_EQ(SDL_RELEASED, result[2*i+1].key.state); |
| 36 | } |
| 37 | // Only keys without modifier |
| 38 | for(int i = 0; i < 6; ++i) { |
| 39 | ASSERT_EQ(KMOD_NONE, result[i].key.keysym.mod); |
| 40 | } |
| 41 | // Keys correspond to the input string |
| 42 | ASSERT_EQ(SDLK_c, result[0].key.keysym.sym); |
| 43 | ASSERT_EQ(SDLK_c, result[1].key.keysym.sym); |
| 44 | ASSERT_EQ(SDLK_a, result[2].key.keysym.sym); |
| 45 | ASSERT_EQ(SDLK_a, result[3].key.keysym.sym); |
| 46 | ASSERT_EQ(SDLK_t, result[4].key.keysym.sym); |
| 47 | ASSERT_EQ(SDLK_t, result[5].key.keysym.sym); |
| 48 | } |
| 49 | |
| 50 | TEST_F(InputMapperTest, StringToEventsWithEscapedChar) |
| 51 | { |
nothing calls this directly
no test coverage detected