示例#1
0
    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)
示例#2
0
    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')
示例#3
0
    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)
示例#4
0
 def testGuiRegistry(self):
     # ensure there is an application instance
     self.assertIsNotNone(QgsGui.sourceWidgetProviderRegistry())