Flutter Linux Embedder
fl_keyboard_layout_test.cc
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
6 
7 #include "flutter/shell/platform/linux/testing/linux_test.h"
8 #include "gtest/gtest.h"
9 
10 class FlKeyboardLayoutTest : public flutter::testing::LinuxTest {
11  protected:
12  void SetUp() override { layout = fl_keyboard_layout_new(); }
13 
14  ~FlKeyboardLayoutTest() { g_clear_object(&layout); }
15 
16  FlKeyboardLayout* layout = nullptr;
17 };
18 
19 TEST_F(FlKeyboardLayoutTest, SetLogicalKey) {
20  EXPECT_EQ(fl_keyboard_layout_get_logical_key(layout, 0, 42),
21  static_cast<uint64_t>(0));
22 
23  fl_keyboard_layout_set_logical_key(layout, 0, 42, 1234);
24 
25  EXPECT_EQ(fl_keyboard_layout_get_logical_key(layout, 0, 42),
26  static_cast<uint64_t>(1234));
27 }
28 
30  EXPECT_EQ(fl_keyboard_layout_get_logical_key(layout, 255, 127),
31  static_cast<uint64_t>(0));
32 
33  fl_keyboard_layout_set_logical_key(layout, 255, 127, 12345678);
34 
35  EXPECT_EQ(fl_keyboard_layout_get_logical_key(layout, 255, 127),
36  static_cast<uint64_t>(12345678));
37 }
38 
40  EXPECT_FALSE(fl_keyboard_layout_has_group(layout, 42));
41 
42  fl_keyboard_layout_set_logical_key(layout, 42, 11, 22);
43 
44  EXPECT_TRUE(fl_keyboard_layout_has_group(layout, 42));
45 }
uint64_t fl_keyboard_layout_get_logical_key(FlKeyboardLayout *self, uint8_t group, uint16_t keycode)
void fl_keyboard_layout_set_logical_key(FlKeyboardLayout *self, uint8_t group, uint16_t keycode, uint64_t logical_key)
FlKeyboardLayout * fl_keyboard_layout_new()
gboolean fl_keyboard_layout_has_group(FlKeyboardLayout *self, uint8_t group)
TEST_F(FlKeyboardLayoutTest, SetLogicalKey)