def testRegistry(self): registry = QgsGui.sourceWidgetProviderRegistry() initial_providers = registry.providers() self.assertTrue( initial_providers) # we expect a bunch of default providers self.assertTrue( [p.name() for p in initial_providers if p.name() == 'xyz']) # add a new provider p1 = TestProvider('p1') registry.addProvider(p1) self.assertIn(p1, registry.providers()) p2 = TestProvider('p2') registry.addProvider(p2) self.assertIn(p1, registry.providers()) self.assertIn(p2, registry.providers()) registry.removeProvider(None) p3 = TestProvider('p3') # not in registry yet registry.removeProvider(p3) registry.removeProvider(p1) self.assertNotIn('p1', [p.name() for p in registry.providers()]) self.assertIn(p2, registry.providers()) registry.removeProvider(p2) self.assertNotIn('p2', [p.name() for p in registry.providers()]) self.assertEqual(registry.providers(), initial_providers)
def testProviderKey(self): """Tests finding provider by name and return providerKey""" registry = QgsGui.sourceWidgetProviderRegistry() # self.assertIsNotNone(registry.providerByName('WFS')) self.assertIsNone(registry.providerByName('i_do_not_exist')) self.assertEqual(registry.providerByName('gdal').providerKey(), 'gdal')
def testCreateDialogWithCustomImplementation(self): """ Tests that createWidget() returns a custom implementation """ registry = QgsGui.sourceWidgetProviderRegistry() p1 = TestProvider('p1') try: registry.addProvider(p1) vl = QgsVectorLayer('Polygon?crs=epsg:4326&field=id:int', 'layer_for_this_provider', 'memory') self.assertIsNotNone(registry.createWidget(vl)) self.assertEqual( registry.createWidget(vl).objectName(), TestSourceWidget().objectName()) finally: registry.removeProvider(p1)
def testGuiRegistry(self): # ensure there is an application instance self.assertIsNotNone(QgsGui.sourceWidgetProviderRegistry())