mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
Add unit tests
This commit is contained in:
parent
91e25e8051
commit
122bf8dba9
@ -115,7 +115,7 @@ bool QgsLayoutItemRegistry::removeLayoutItemType( int typeId )
|
||||
if ( !mMetadata.contains( typeId ) )
|
||||
return false;
|
||||
mMetadata.remove( typeId );
|
||||
emit multiFrameTypeRemoved( typeId );
|
||||
emit typeRemoved( typeId );
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ bool QgsLayoutItemRegistry::removeLayoutMultiFrameType( int typeId )
|
||||
if ( !mMultiFrameMetadata.contains( typeId ) )
|
||||
return false;
|
||||
mMultiFrameMetadata.remove( typeId );
|
||||
emit typeRemoved( typeId );
|
||||
emit multiFrameTypeRemoved( typeId );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -261,6 +261,23 @@ void TestQgsLayoutItem::registry()
|
||||
registry.resolvePaths( 2, props, QgsPathResolver(), true );
|
||||
QVERIFY( props.isEmpty() );
|
||||
|
||||
// Test remove item type
|
||||
QgsLayoutItemMetadata *metadata_42 = new QgsLayoutItemMetadata( 42, QStringLiteral( "my other type" ), QStringLiteral( "my other types" ), create, resolve );
|
||||
QVERIFY( registry.addLayoutItemType( metadata_42 ) );
|
||||
QCOMPARE( registry.itemTypes().count(), 2 );
|
||||
QCOMPARE( spyTypeAdded.value( 1 ).at( 0 ).toInt(), 42 );
|
||||
|
||||
const QSignalSpy spyTypeRemoved( ®istry, &QgsLayoutItemRegistry::typeRemoved );
|
||||
QVERIFY( registry.removeLayoutItemType( 2 ) ); // Remove by id
|
||||
QCOMPARE( spyTypeRemoved.count(), 1 );
|
||||
QCOMPARE( spyTypeRemoved.value( 0 ).at( 0 ).toInt(), 2 );
|
||||
QCOMPARE( registry.itemTypes().count(), 1 );
|
||||
|
||||
QVERIFY( registry.removeLayoutItemType( metadata_42 ) ); // Remove by metadata
|
||||
QCOMPARE( spyTypeRemoved.count(), 2 );
|
||||
QCOMPARE( spyTypeRemoved.value( 1 ).at( 0 ).toInt(), 42 );
|
||||
QCOMPARE( registry.itemTypes().count(), 0 );
|
||||
|
||||
// test populate
|
||||
QgsLayoutItemRegistry reg2;
|
||||
QVERIFY( reg2.itemTypes().isEmpty() );
|
||||
|
@ -538,6 +538,23 @@ void TestQgsLayoutMultiFrame::registry()
|
||||
QCOMPARE( props.size(), 1 );
|
||||
registry.resolvePaths( QgsLayoutItemRegistry::PluginItem + 1, props, QgsPathResolver(), true );
|
||||
QVERIFY( props.isEmpty() );
|
||||
|
||||
// Test remove multi frame type
|
||||
QgsLayoutMultiFrameMetadata *metadata_42 = new QgsLayoutMultiFrameMetadata( QgsLayoutItemRegistry::PluginItem + 42, QStringLiteral( "TestMultiFrame42" ), create, resolve );
|
||||
QVERIFY( registry.addLayoutMultiFrameType( metadata_42 ) );
|
||||
QCOMPARE( registry.itemTypes().count(), 2 );
|
||||
QCOMPARE( spyTypeAdded.value( 1 ).at( 0 ).toInt(), QgsLayoutItemRegistry::PluginItem + 42 );
|
||||
|
||||
const QSignalSpy spyTypeRemoved( ®istry, &QgsLayoutItemRegistry::multiFrameTypeRemoved );
|
||||
QVERIFY( registry.removeLayoutMultiFrameType( QgsLayoutItemRegistry::PluginItem + 1 ) ); // Remove by id
|
||||
QCOMPARE( spyTypeRemoved.count(), 1 );
|
||||
QCOMPARE( spyTypeRemoved.value( 0 ).at( 0 ).toInt(), QgsLayoutItemRegistry::PluginItem + 1 );
|
||||
QCOMPARE( registry.itemTypes().count(), 1 );
|
||||
|
||||
QVERIFY( registry.removeLayoutMultiFrameType( metadata_42 ) ); // Remove by metadata
|
||||
QCOMPARE( spyTypeRemoved.count(), 2 );
|
||||
QCOMPARE( spyTypeRemoved.value( 1 ).at( 0 ).toInt(), QgsLayoutItemRegistry::PluginItem + 42 );
|
||||
QCOMPARE( registry.itemTypes().count(), 0 );
|
||||
}
|
||||
|
||||
void TestQgsLayoutMultiFrame::deleteFrame()
|
||||
|
@ -328,6 +328,27 @@ void TestQgsLayoutView::guiRegistry()
|
||||
QCOMPARE( item->type(), QgsLayoutItemRegistry::LayoutItem + 101 );
|
||||
QCOMPARE( static_cast<TestItem *>( item )->mFlag, 2 );
|
||||
delete item;
|
||||
|
||||
// test removing item metadata
|
||||
QCOMPARE( registry.itemMetadataIds().count(), 3 );
|
||||
const QSignalSpy spyTypeRemoved( ®istry, &QgsLayoutItemGuiRegistry::typeRemoved );
|
||||
QVERIFY( registry.removeLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutItem + 101 ) );
|
||||
QCOMPARE( registry.itemMetadataIds().count(), 2 );
|
||||
QVERIFY( registry.removeLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutItem + 101 ) );
|
||||
QCOMPARE( registry.itemMetadataIds().count(), 1 );
|
||||
QVERIFY( registry.removeLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutItem + 101 ) );
|
||||
QCOMPARE( registry.itemMetadataIds().count(), 0 );
|
||||
QCOMPARE( registry.removeLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutItem + 101 ), false );
|
||||
QCOMPARE( spyTypeRemoved.count(), 3 );
|
||||
QCOMPARE( registry.itemMetadataIds().count(), 0 );
|
||||
|
||||
// test removing item group
|
||||
const QSignalSpy spyGroupRemoved( ®istry, &QgsLayoutItemGuiRegistry::groupRemoved );
|
||||
QVERIFY( registry.removeItemGroup( QStringLiteral( "g1" ) ) );
|
||||
QCOMPARE( spyGroupRemoved.count(), 1 );
|
||||
QCOMPARE( spyGroupRemoved.at( 0 ).at( 0 ).toString(), QStringLiteral( "g1" ) );
|
||||
// can't remove group again
|
||||
QVERIFY( !registry.removeItemGroup( QStringLiteral( "g1" ) ) );
|
||||
}
|
||||
|
||||
void TestQgsLayoutView::rubberBand()
|
||||
|
Loading…
x
Reference in New Issue
Block a user