File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,8 @@ class LIBSCRATCHCPP_EXPORT KeyEvent
3131 Type type () const ;
3232 const std::string &name () const ;
3333
34+ friend bool operator ==(const KeyEvent &ev1, const KeyEvent &ev2) { return ev1.name () == ev2.name (); }
35+
3436 private:
3537 spimpl::impl_ptr<KeyEventPrivate> impl;
3638};
Original file line number Diff line number Diff line change @@ -213,3 +213,33 @@ TEST(KeyEventTest, Constructors)
213213 ASSERT_EQ (event.name (), " down arrow" );
214214 }
215215}
216+
217+ TEST (KeyEventTest, EqualityOperator)
218+ {
219+ KeyEvent ev1 (KeyEvent::Type::Any);
220+ KeyEvent ev2 (KeyEvent::Type::Any);
221+ KeyEvent ev3 (KeyEvent::Type::Space);
222+ KeyEvent ev4 (KeyEvent::Type::Space);
223+ KeyEvent ev5 (KeyEvent::Type::Left);
224+ KeyEvent ev6 (KeyEvent::Type::Left);
225+ KeyEvent ev7 (KeyEvent::Type::Right);
226+ KeyEvent ev8 (KeyEvent::Type::Right);
227+ KeyEvent ev9 (" a" );
228+ KeyEvent ev10 (" A" );
229+ KeyEvent ev11 (" 8" );
230+ KeyEvent ev12 (" 8" );
231+ KeyEvent ev13 (" space" );
232+
233+ ASSERT_TRUE (ev1 == ev2);
234+ ASSERT_TRUE (ev3 == ev4);
235+ ASSERT_TRUE (ev5 == ev6);
236+ ASSERT_TRUE (ev7 == ev8);
237+ ASSERT_TRUE (ev9 == ev10);
238+ ASSERT_TRUE (ev11 == ev12);
239+ ASSERT_TRUE (ev3 == ev13);
240+
241+ ASSERT_FALSE (ev1 == ev3);
242+ ASSERT_FALSE (ev4 == ev6);
243+ ASSERT_FALSE (ev7 == ev10);
244+ ASSERT_FALSE (ev11 == ev13);
245+ }
You can’t perform that action at this time.
0 commit comments