refactor: port deskflow/ClipboardChunkTests to QtTests
This commit is contained in:
parent
29a86cfbac
commit
cbcaafe764
4 changed files with 95 additions and 67 deletions
|
|
@ -1,67 +0,0 @@
|
||||||
/*
|
|
||||||
* Deskflow -- mouse and keyboard sharing utility
|
|
||||||
* SPDX-FileCopyrightText: (C) 2015 - 2016 Symless Ltd.
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "deskflow/ClipboardChunk.h"
|
|
||||||
#include "deskflow/ProtocolTypes.h"
|
|
||||||
|
|
||||||
#include <gtest/gtest.h>
|
|
||||||
|
|
||||||
TEST(ClipboardChunkTests, start_formatStartChunk)
|
|
||||||
{
|
|
||||||
ClipboardID id = 0;
|
|
||||||
uint32_t sequence = 0;
|
|
||||||
std::string mockDataSize("10");
|
|
||||||
ClipboardChunk *chunk = ClipboardChunk::start(id, sequence, mockDataSize);
|
|
||||||
uint32_t temp_m_chunk;
|
|
||||||
memcpy(&temp_m_chunk, &(chunk->m_chunk[1]), 4);
|
|
||||||
|
|
||||||
EXPECT_EQ(id, chunk->m_chunk[0]);
|
|
||||||
EXPECT_EQ(sequence, temp_m_chunk);
|
|
||||||
EXPECT_EQ(kDataStart, chunk->m_chunk[5]);
|
|
||||||
EXPECT_EQ('1', chunk->m_chunk[6]);
|
|
||||||
EXPECT_EQ('0', chunk->m_chunk[7]);
|
|
||||||
EXPECT_EQ('\0', chunk->m_chunk[8]);
|
|
||||||
|
|
||||||
delete chunk;
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(ClipboardChunkTests, data_formatDataChunk)
|
|
||||||
{
|
|
||||||
ClipboardID id = 0;
|
|
||||||
uint32_t sequence = 1;
|
|
||||||
std::string mockData("mock data");
|
|
||||||
ClipboardChunk *chunk = ClipboardChunk::data(id, sequence, mockData);
|
|
||||||
|
|
||||||
EXPECT_EQ(id, chunk->m_chunk[0]);
|
|
||||||
EXPECT_EQ(sequence, (uint32_t)chunk->m_chunk[1]);
|
|
||||||
EXPECT_EQ(kDataChunk, chunk->m_chunk[5]);
|
|
||||||
EXPECT_EQ('m', chunk->m_chunk[6]);
|
|
||||||
EXPECT_EQ('o', chunk->m_chunk[7]);
|
|
||||||
EXPECT_EQ('c', chunk->m_chunk[8]);
|
|
||||||
EXPECT_EQ('k', chunk->m_chunk[9]);
|
|
||||||
EXPECT_EQ(' ', chunk->m_chunk[10]);
|
|
||||||
EXPECT_EQ('d', chunk->m_chunk[11]);
|
|
||||||
EXPECT_EQ('a', chunk->m_chunk[12]);
|
|
||||||
EXPECT_EQ('t', chunk->m_chunk[13]);
|
|
||||||
EXPECT_EQ('a', chunk->m_chunk[14]);
|
|
||||||
EXPECT_EQ('\0', chunk->m_chunk[15]);
|
|
||||||
|
|
||||||
delete chunk;
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(ClipboardChunkTests, end_formatDataChunk)
|
|
||||||
{
|
|
||||||
ClipboardID id = 1;
|
|
||||||
uint32_t sequence = 1;
|
|
||||||
ClipboardChunk *chunk = ClipboardChunk::end(id, sequence);
|
|
||||||
|
|
||||||
EXPECT_EQ(id, chunk->m_chunk[0]);
|
|
||||||
EXPECT_EQ(sequence, (uint32_t)chunk->m_chunk[1]);
|
|
||||||
EXPECT_EQ(kDataEnd, chunk->m_chunk[5]);
|
|
||||||
EXPECT_EQ('\0', chunk->m_chunk[6]);
|
|
||||||
|
|
||||||
delete chunk;
|
|
||||||
}
|
|
||||||
|
|
@ -13,6 +13,14 @@ create_test(
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/lib/deskflow"
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/lib/deskflow"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
create_test(
|
||||||
|
NAME ClipboardChunksTests
|
||||||
|
DEPENDS app
|
||||||
|
LIBS arch base io ${extra_libs}
|
||||||
|
SOURCE ClipboardChunksTests.cpp
|
||||||
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/lib/deskflow"
|
||||||
|
)
|
||||||
|
|
||||||
create_test(
|
create_test(
|
||||||
NAME ConfigTests
|
NAME ConfigTests
|
||||||
DEPENDS app
|
DEPENDS app
|
||||||
|
|
|
||||||
70
src/unittests/deskflow/ClipboardChunksTests.cpp
Normal file
70
src/unittests/deskflow/ClipboardChunksTests.cpp
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* Deskflow -- mouse and keyboard sharing utility
|
||||||
|
* SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
|
||||||
|
* SPDX-FileCopyrightText: (C) 2015 - 2016 Symless Ltd.
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ClipboardChunksTests.h"
|
||||||
|
|
||||||
|
#include "../../lib/deskflow/ClipboardChunk.h"
|
||||||
|
|
||||||
|
#include "deskflow/ProtocolTypes.h"
|
||||||
|
|
||||||
|
void ClipboardChunksTests::startFormatData()
|
||||||
|
{
|
||||||
|
ClipboardID id = 0;
|
||||||
|
uint32_t sequence = 0;
|
||||||
|
std::string mockDataSize("10");
|
||||||
|
ClipboardChunk *chunk = ClipboardChunk::start(id, sequence, mockDataSize);
|
||||||
|
uint32_t temp_m_chunk;
|
||||||
|
memcpy(&temp_m_chunk, &(chunk->m_chunk[1]), 4);
|
||||||
|
|
||||||
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
|
QCOMPARE(temp_m_chunk, sequence);
|
||||||
|
QCOMPARE(chunk->m_chunk[5], kDataStart);
|
||||||
|
QCOMPARE(chunk->m_chunk[6], '1');
|
||||||
|
QCOMPARE(chunk->m_chunk[7], '0');
|
||||||
|
QCOMPARE(chunk->m_chunk[8], '\0');
|
||||||
|
delete chunk;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ClipboardChunksTests::formatDataChunk()
|
||||||
|
{
|
||||||
|
ClipboardID id = 0;
|
||||||
|
uint32_t sequence = 1;
|
||||||
|
std::string mockData("mock data");
|
||||||
|
ClipboardChunk *chunk = ClipboardChunk::data(id, sequence, mockData);
|
||||||
|
|
||||||
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
|
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
||||||
|
QCOMPARE(chunk->m_chunk[5], kDataChunk);
|
||||||
|
QCOMPARE(chunk->m_chunk[6], 'm');
|
||||||
|
QCOMPARE(chunk->m_chunk[7], 'o');
|
||||||
|
QCOMPARE(chunk->m_chunk[8], 'c');
|
||||||
|
QCOMPARE(chunk->m_chunk[9], 'k');
|
||||||
|
QCOMPARE(chunk->m_chunk[10], ' ');
|
||||||
|
QCOMPARE(chunk->m_chunk[11], 'd');
|
||||||
|
QCOMPARE(chunk->m_chunk[12], 'a');
|
||||||
|
QCOMPARE(chunk->m_chunk[13], 't');
|
||||||
|
QCOMPARE(chunk->m_chunk[14], 'a');
|
||||||
|
QCOMPARE(chunk->m_chunk[15], '\0');
|
||||||
|
|
||||||
|
delete chunk;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ClipboardChunksTests::endFormatData()
|
||||||
|
{
|
||||||
|
ClipboardID id = 1;
|
||||||
|
uint32_t sequence = 1;
|
||||||
|
ClipboardChunk *chunk = ClipboardChunk::end(id, sequence);
|
||||||
|
|
||||||
|
QCOMPARE(chunk->m_chunk[0], id);
|
||||||
|
QCOMPARE((uint32_t)chunk->m_chunk[1], sequence);
|
||||||
|
QCOMPARE(chunk->m_chunk[5], kDataEnd);
|
||||||
|
QCOMPARE(chunk->m_chunk[6], '\0');
|
||||||
|
|
||||||
|
delete chunk;
|
||||||
|
}
|
||||||
|
|
||||||
|
QTEST_MAIN(ClipboardChunksTests)
|
||||||
17
src/unittests/deskflow/ClipboardChunksTests.h
Normal file
17
src/unittests/deskflow/ClipboardChunksTests.h
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
* Deskflow -- mouse and keyboard sharing utility
|
||||||
|
* SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <QTest>
|
||||||
|
|
||||||
|
class ClipboardChunksTests : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
private slots:
|
||||||
|
// Test are run in order top to bottom
|
||||||
|
void startFormatData();
|
||||||
|
void formatDataChunk();
|
||||||
|
void endFormatData();
|
||||||
|
};
|
||||||
Loading…
Reference in a new issue