Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d62330d4 authored by Harry Cutts's avatar Harry Cutts
Browse files

KeyboardInputMapper: migrate most tests to InputMapperUnitTest

Some of these tests create multiple input devices and mappers, which I
didn't have time to work out how to mimic using InputMapperUnitTest. The
rest have been migrated.

Notes:
* Split out Process_UnknownKey from Process_SimpleKeyPress, since it's a
  separate behaviour to test
* As far as I can tell, Process_KeyRemapping was just testing the
  remapping code in FakeEventHub, so I removed it
* Process_WhenNotOrientationAware_ShouldNotRotateDPad now checks for a
  display ID of DISPLAY_ID, not INVALID. This is because the method
  called by KeyboardInputMapper to check orientation
  (getAssociatedViewport) will never return an orientation without also
  returning a valid display ID; setting one without the other appears to
  have been possible in the old testing infrastructure, but would only
  have affected state somewhere outside of KeyboardInputMapper.
  For similar reasons, removed the second half of
  DisplayIdConfigurationChange_NotOrientationAware.
* MarkSupportedKeyCodes was removed, as the code to test it would have
  been too bulky to test a trivial one-liner (and it would basically
  have been a change detector).

Test: atest --host inputflinger_tests
Bug: 283812079
Flag: TEST_ONLY
Change-Id: Id6d2eb4ec2bae6bd0e9a263209169785e40a6024
parent 6e566734
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -294,6 +294,8 @@ enum class KeyboardType {
    NONE = AINPUT_KEYBOARD_TYPE_NONE,
    NON_ALPHABETIC = AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC,
    ALPHABETIC = AINPUT_KEYBOARD_TYPE_ALPHABETIC,
    ftl_first = NONE,
    ftl_last = ALPHABETIC,
};

bool isStylusToolType(ToolType toolType);
+4 −4
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public:
    inline InputReaderContext* getContext() { return mContext; }
    inline int32_t getId() const { return mId; }
    inline int32_t getControllerNumber() const { return mControllerNumber; }
    inline int32_t getGeneration() const { return mGeneration; }
    inline virtual int32_t getGeneration() const { return mGeneration; }
    inline const std::string getName() const { return mIdentifier.name; }
    inline const std::string getDescriptor() { return mIdentifier.descriptor; }
    inline std::optional<std::string> getBluetoothAddress() const {
@@ -59,7 +59,7 @@ public:
    inline virtual uint32_t getSources() const { return mSources; }
    inline bool hasEventHubDevices() const { return !mDevices.empty(); }

    inline bool isExternal() { return mIsExternal; }
    inline virtual bool isExternal() { return mIsExternal; }
    inline std::optional<uint8_t> getAssociatedDisplayPort() const {
        return mAssociatedDisplayPort;
    }
@@ -79,7 +79,7 @@ public:

    inline bool isIgnored() { return !getMapperCount() && !mController; }

    inline KeyboardType getKeyboardType() const { return mKeyboardType; }
    inline virtual KeyboardType getKeyboardType() const { return mKeyboardType; }

    bool isEnabled();

@@ -124,7 +124,7 @@ public:
    int32_t getMetaState();
    void setKeyboardType(KeyboardType keyboardType);

    void bumpGeneration();
    virtual void bumpGeneration();

    [[nodiscard]] NotifyDeviceResetArgs notifyReset(nsecs_t when);

+6 −1
Original line number Diff line number Diff line
@@ -100,9 +100,14 @@ std::list<NotifyArgs> InputMapperUnitTest::process(int32_t type, int32_t code, i

std::list<NotifyArgs> InputMapperUnitTest::process(nsecs_t when, int32_t type, int32_t code,
                                                   int32_t value) {
    return process(when, when, type, code, value);
}

std::list<NotifyArgs> InputMapperUnitTest::process(nsecs_t when, nsecs_t readTime, int32_t type,
                                                   int32_t code, int32_t value) {
    RawEvent event;
    event.when = when;
    event.readTime = when;
    event.readTime = readTime;
    event.deviceId = mMapper->getDeviceContext().getEventHubId();
    event.type = type;
    event.code = code;
+2 −0
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ protected:

    std::list<NotifyArgs> process(int32_t type, int32_t code, int32_t value);
    std::list<NotifyArgs> process(nsecs_t when, int32_t type, int32_t code, int32_t value);
    std::list<NotifyArgs> process(nsecs_t when, nsecs_t readTime, int32_t type, int32_t code,
                                  int32_t value);

    InputDeviceIdentifier mIdentifier;
    MockEventHubInterface mMockEventHub;
+8 −2
Original line number Diff line number Diff line
@@ -201,7 +201,9 @@ public:

    MOCK_METHOD(uint32_t, getSources, (), (const, override));
    MOCK_METHOD(std::optional<DisplayViewport>, getAssociatedViewport, (), (const));
    MOCK_METHOD(KeyboardType, getKeyboardType, (), (const, override));
    MOCK_METHOD(bool, isEnabled, (), ());
    MOCK_METHOD(bool, isExternal, (), (override));

    MOCK_METHOD(void, dump, (std::string& dump, const std::string& eventHubDevStr), ());
    MOCK_METHOD(void, addEmptyEventHubDevice, (int32_t eventHubId), ());
@@ -249,8 +251,6 @@ public:
    MOCK_METHOD(int32_t, getMetaState, (), ());
    MOCK_METHOD(void, setKeyboardType, (KeyboardType keyboardType), ());

    MOCK_METHOD(void, bumpGeneration, (), ());

    MOCK_METHOD(const PropertyMap&, getConfiguration, (), (const, override));

    MOCK_METHOD(NotifyDeviceResetArgs, notifyReset, (nsecs_t when), ());
@@ -260,5 +260,11 @@ public:
    MOCK_METHOD(void, updateLedState, (bool reset), ());

    MOCK_METHOD(size_t, getMapperCount, (), ());

    virtual int32_t getGeneration() const override { return mGeneration; }
    virtual void bumpGeneration() override { mGeneration++; }

private:
    int32_t mGeneration = 0;
};
} // namespace android
Loading