Unit tests update
This commit is contained in:
parent
3716e48045
commit
0ba27ce365
|
@ -708,10 +708,10 @@ void FMouseSGR::setRawData (char fifo_buf[], int fifo_buf_size)
|
|||
for (n = len; n < fifo_buf_size; n++) // Remove founded entry
|
||||
fifo_buf[n - len] = fifo_buf[n];
|
||||
|
||||
n = fifo_buf_size - len - 1;
|
||||
n = fifo_buf_size - len;
|
||||
|
||||
for (; n < fifo_buf_size; n++) // Fill rest with '\0'
|
||||
fifo_buf[n - len] = '\0';
|
||||
fifo_buf[n] = '\0';
|
||||
|
||||
input_data_pending = bool(fifo_buf[0] != '\0');
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ class FMouseTest : public CPPUNIT_NS::TestFixture
|
|||
void gpmMouseTest();
|
||||
#endif
|
||||
void x11MouseTest();
|
||||
void sgrMouseTest();
|
||||
|
||||
private:
|
||||
// Adds code needed to register the test suite
|
||||
|
@ -114,6 +115,7 @@ class FMouseTest : public CPPUNIT_NS::TestFixture
|
|||
CPPUNIT_TEST (gpmMouseTest);
|
||||
#endif
|
||||
CPPUNIT_TEST (x11MouseTest);
|
||||
CPPUNIT_TEST (sgrMouseTest);
|
||||
|
||||
// End of test suite definition
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
@ -285,6 +287,12 @@ void FMouseTest::x11MouseTest()
|
|||
CPPUNIT_ASSERT ( ! x11_mouse.isWheelDown() );
|
||||
CPPUNIT_ASSERT ( ! x11_mouse.isMoved() );
|
||||
|
||||
// The same input again
|
||||
char raw[] = { 0x1b, '[', 'M', 0x23, 0x50, 0x32 };
|
||||
x11_mouse.setRawData ( raw, sizeof(raw));
|
||||
x11_mouse.processEvent (&tv);
|
||||
CPPUNIT_ASSERT ( ! x11_mouse.hasEvent() );
|
||||
|
||||
// Left mouse button pressed
|
||||
char rawdata2[] = { 0x1b, '[', 'M', 0x20, 0x21, 0x21 };
|
||||
x11_mouse.setRawData (rawdata2, sizeof(rawdata2));
|
||||
|
@ -539,6 +547,79 @@ void FMouseTest::x11MouseTest()
|
|||
CPPUNIT_ASSERT ( x11_mouse.isShiftKeyPressed() );
|
||||
CPPUNIT_ASSERT ( x11_mouse.isControlKeyPressed() );
|
||||
CPPUNIT_ASSERT ( x11_mouse.isMetaKeyPressed() );
|
||||
|
||||
char rawdata10[] = { 0x1b, '[', 'M', 0x20, 0x7f, 0x3f };
|
||||
x11_mouse.setRawData (rawdata10, sizeof(rawdata9));
|
||||
CPPUNIT_ASSERT ( x11_mouse.hasData() );
|
||||
x11_mouse.processEvent (&tv);
|
||||
CPPUNIT_ASSERT ( x11_mouse.hasEvent() );
|
||||
x11_mouse.clearEvent();
|
||||
CPPUNIT_ASSERT ( ! x11_mouse.hasEvent() );
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FMouseTest::sgrMouseTest()
|
||||
{
|
||||
FMouseSGR sgr_mouse;
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.hasData() );
|
||||
|
||||
char rawdata1[] = { 0x1b, '[', '<', '0', ';', '7'
|
||||
, '3', ';', '4', 'm', '@', '@' };
|
||||
sgr_mouse.setRawData (rawdata1, sizeof(rawdata1));
|
||||
CPPUNIT_ASSERT ( sgr_mouse.hasData() );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.isInputDataPending() );
|
||||
CPPUNIT_ASSERT ( strcmp(rawdata1, "@@") == 0 );
|
||||
|
||||
timeval tv;
|
||||
FObject::getCurrentTime(&tv);
|
||||
sgr_mouse.processEvent (&tv);
|
||||
|
||||
CPPUNIT_ASSERT ( sgr_mouse.getPos() == FPoint(73, 4) );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.hasEvent() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isLeftButtonPressed() );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.isLeftButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isLeftButtonDoubleClick() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isRightButtonPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isRightButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMiddleButtonPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMiddleButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isShiftKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isControlKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMetaKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isWheelUp() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isWheelDown() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMoved() );
|
||||
|
||||
// The same input again
|
||||
char raw[] = { 0x1b, '[', '<', '0', ';', '7', '3', ';', '4', 'm' };
|
||||
sgr_mouse.setRawData ( raw, sizeof(raw));
|
||||
sgr_mouse.processEvent (&tv);
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.hasEvent() );
|
||||
|
||||
// Left mouse button pressed
|
||||
char rawdata2[] = { 0x1b, '[', '<', '0', ';', '1', ';', '1', 'M' };
|
||||
sgr_mouse.setRawData (rawdata2, sizeof(rawdata2));
|
||||
|
||||
CPPUNIT_ASSERT ( sgr_mouse.hasData() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isInputDataPending() );
|
||||
sgr_mouse.processEvent (&tv);
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.hasData() );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.getPos() == FPoint(1, 1) );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.hasEvent() );
|
||||
CPPUNIT_ASSERT ( sgr_mouse.isLeftButtonPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isLeftButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isLeftButtonDoubleClick() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isRightButtonPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isRightButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMiddleButtonPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMiddleButtonReleased() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isShiftKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isControlKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMetaKeyPressed() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isWheelUp() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isWheelDown() );
|
||||
CPPUNIT_ASSERT ( ! sgr_mouse.isMoved() );
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue