MCPcopy Create free account
hub / github.com/cneben/QuickQanava / testItemDisplayRole

Function testItemDisplayRole

tests/containers_test.cpp:695–724  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

693//-----------------------------------------------------------------------------
694template <class Container>
695void testItemDisplayRole(Container& container)
696{
697 auto& model = *container.model();
698 DataChangedSignalSpy spy(model);
699 ASSERT_EQ(0, spy.count);
700
701 // Content is not monitored for changes _before_ beeing displayed,
702 // simulate a view access to QAbstractItemModel::data()
703 model.data(model.index(0,0), qcm::ContainerModel::ItemLabelRole);
704 model.data(model.index(1,0), qcm::ContainerModel::ItemLabelRole);
705 ASSERT_EQ(0, spy.count);
706
707 // Now modify container model qobject properties used as display role.
708 container.at(0)->setLabel("D1 label");
709 ASSERT_EQ(spy.count, 1);
710 container.at(1)->setLabel("D2 label");
711 ASSERT_EQ(spy.count, 2);
712
713 // Check that label content is correct
714 ASSERT_EQ( QVariant{"D1 label"}, model.data(model.index(0,0), qcm::ContainerModel::ItemLabelRole) );
715 ASSERT_EQ( QVariant{"D2 label"}, model.data(model.index(1,0), qcm::ContainerModel::ItemLabelRole) );
716
717 // Dynamically modify label role
718 spy.count = 0;
719 model.setItemDisplayRole("dummyString");
720 //ASSERT_EQ(2, spy.count);
721
722 ASSERT_EQ( QVariant{"Dummy1"}, model.data(model.index(0,0), qcm::ContainerModel::ItemLabelRole) );
723 ASSERT_EQ( QVariant{"Dummy2"}, model.data(model.index(1,0), qcm::ContainerModel::ItemLabelRole) );
724}
725
726TEST(qpsContainerModel, qObjectPtrItemDisplayRole)
727{

Callers 1

TESTFunction · 0.85

Calls 5

modelMethod · 0.80
setItemDisplayRoleMethod · 0.80
dataMethod · 0.45
setLabelMethod · 0.45
atMethod · 0.45

Tested by

no test coverage detected