mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 01:23:24 -08:00
Qt6::Test was linked into every test but never used. Add a small RAII QAbstractItemModelTester helper and apply it to the deck list model, the card database model and display proxy, and the sets model. Add QSignalSpy coverage for the card-added and download-settings signals, and assert explicitly that a card row is a leaf with no child columns (the tester does not check that). The contract checker immediately found four model bugs, fixed here: - DeckListModel allowed children below non-zero columns. - CardDatabaseModel reported every card as a child of every card row. - CardDatabaseModel reported six columns for a valid (leaf) card index. - CardDatabaseDisplayModel claimed more rows were fetchable while rowCount already exposed them all, so fetchMore() inserted duplicates. Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
17 lines
394 B
CMake
17 lines
394 B
CMake
cockatrice_add_test(
|
|
NAME
|
|
model_contract_test
|
|
SOURCES
|
|
${VERSION_STRING_CPP}
|
|
model_contract_test.cpp
|
|
LIBS
|
|
libcockatrice_models
|
|
libcockatrice_card
|
|
libcockatrice_deck_list
|
|
libcockatrice_settings
|
|
INCLUDE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../support
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../carddatabase
|
|
DEFINITIONS
|
|
CARDDB_DATADIR="${CMAKE_SOURCE_DIR}/tests/carddatabase/data/"
|
|
)
|