Ejemplo n.º 1
0
    def test_registry(self):
        """
        Test QgsBabelFormatRegistry
        """
        self.assertIsNotNone(QgsApplication.gpsBabelFormatRegistry())

        registry = QgsBabelFormatRegistry()
        self.assertIn('garmin_poi', registry.importFormatNames())
        self.assertIn('dna', registry.importFormatNames())

        self.assertIsNone(registry.importFormat('aaaaaa'))
        self.assertIsNotNone(registry.importFormat('dna'))
        self.assertEqual(registry.importFormat('dna').name(), 'dna')
        self.assertEqual(
            registry.importFormat('dna').description(),
            'Navitrak DNA marker format')
        self.assertEqual(registry.importFormat('dna').extensions(), ['dna'])

        self.assertIsNone(registry.importFormatByDescription('aaaaaa'))
        self.assertEqual(
            registry.importFormatByDescription(
                'Navitrak DNA marker format').name(), 'dna')
        self.assertEqual(
            registry.importFormatByDescription(
                'navitrak dna marker format').name(), 'dna')
        self.assertEqual(
            registry.importFormatByDescription(
                'PocketFMS flightplan (.xml)').name(), 'pocketfms_fp')
        # see explanation in QgsBabelFormatRegistry::importFileFilter()!
        self.assertEqual(
            registry.importFormatByDescription(
                'PocketFMS flightplan [.xml]').name(), 'pocketfms_fp')

        self.assertIn(';;ESRI shapefile (*.shp);;',
                      registry.importFileFilter())
        self.assertIn(';;PocketFMS flightplan [.xml] (*.xml);;',
                      registry.importFileFilter())

        # should have only one device by default
        self.assertEqual(registry.deviceNames(), ['Garmin serial'])
        self.assertIsNotNone(registry.deviceFormat('Garmin serial'))
        self.assertEqual(
            registry.deviceFormat('Garmin serial').importCommand(
                'bb', Qgis.GpsFeatureType.Waypoint, 'in_file.shp',
                'out_file.gpx'), [
                    'bb', '-w', '-i', 'garmin', '-o', 'gpx', 'in_file.shp',
                    'out_file.gpx'
                ])