aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-18 14:22:01 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-24 11:09:14 +0000
commit4cedac360986b3cdc21519b102d605671e9e7610 (patch)
treeed565797fa04b4ea70bd80cca22c0bf4af6e13f7
parent8d555031245b0e3e222705bbdc894ad3efbaba42 (diff)
Add QtPositioning and QtLocation
Task-number: PYSIDE-487 Change-Id: Ie44d8472beb3f1a5ab75caafd1f58b512b53ccb1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r--sources/pyside2/CMakeLists.txt2
-rw-r--r--sources/pyside2/PySide2/QtLocation/CMakeLists.txt80
-rw-r--r--sources/pyside2/PySide2/QtLocation/typesystem_location.xml112
-rw-r--r--sources/pyside2/PySide2/QtPositioning/CMakeLists.txt55
-rw-r--r--sources/pyside2/PySide2/QtPositioning/typesystem_positioning.xml80
-rw-r--r--sources/pyside2/tests/QtLocation/CMakeLists.txt1
-rw-r--r--sources/pyside2/tests/QtLocation/location.py41
-rw-r--r--sources/pyside2/tests/QtPositioning/CMakeLists.txt1
-rw-r--r--sources/pyside2/tests/QtPositioning/positioning.py43
9 files changed, 414 insertions, 1 deletions
diff --git a/sources/pyside2/CMakeLists.txt b/sources/pyside2/CMakeLists.txt
index 5bd22d62..3e56881d 100644
--- a/sources/pyside2/CMakeLists.txt
+++ b/sources/pyside2/CMakeLists.txt
@@ -330,7 +330,7 @@ if(APPLE)
endif()
# Collect all optional modules.
-set(ALL_OPTIONAL_MODULES Xml XmlPatterns Help Multimedia MultimediaWidgets OpenGL Qml Quick QuickWidgets Script ScriptTools Sensors TextToSpeech Charts Svg DataVisualization)
+set(ALL_OPTIONAL_MODULES Xml XmlPatterns Help Multimedia MultimediaWidgets OpenGL Positioning Location Qml Quick QuickWidgets Script ScriptTools Sensors TextToSpeech Charts Svg DataVisualization)
find_package(Qt5UiTools)
if(Qt5UiTools_FOUND)
list(APPEND ALL_OPTIONAL_MODULES UiTools)
diff --git a/sources/pyside2/PySide2/QtLocation/CMakeLists.txt b/sources/pyside2/PySide2/QtLocation/CMakeLists.txt
new file mode 100644
index 00000000..f968d1a1
--- /dev/null
+++ b/sources/pyside2/PySide2/QtLocation/CMakeLists.txt
@@ -0,0 +1,80 @@
+project(QtLocation)
+
+set(QtLocation_OPTIONAL_SRC )
+set(QtLocation_DROPPED_ENTRIES )
+
+set(QtLocation_SRC
+${QtLocation_GEN_DIR}/qgeocodereply_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeomaneuver_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoroute_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoroutereply_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoroutesegment_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoserviceprovider_wrapper.cpp
+${QtLocation_GEN_DIR}/qplace_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacecontentreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacedetailsreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceicon_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceidreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacemanager_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceuser_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeocodingmanager_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeocodingmanagerengine_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeorouterequest_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoroutingmanager_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoroutingmanagerengine_wrapper.cpp
+${QtLocation_GEN_DIR}/qgeoserviceproviderfactory_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceattribute_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacecategory_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacecontactdetail_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacecontent_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacecontentrequest_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceeditorial_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceimage_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacemanagerengine_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacematchreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacematchrequest_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceproposedsearchresult_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceratings_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacereply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplaceresult_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacereview_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacesearchreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacesearchrequest_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacesearchresult_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacesearchsuggestionreply_wrapper.cpp
+${QtLocation_GEN_DIR}/qplacesupplier_wrapper.cpp
+# module is always needed
+${QtLocation_GEN_DIR}/qtlocation_module_wrapper.cpp
+)
+
+if (Qt5Location_VERSION VERSION_EQUAL 5.11.0 OR Qt5Location_VERSION VERSION_GREATER 5.11.0)
+ list(APPEND QtLocation_SRC
+ ${QtLocation_GEN_DIR}/qgeoserviceproviderfactoryv2_wrapper.cpp)
+endif()
+
+set(QtLocation_include_dirs ${QtLocation_SOURCE_DIR}
+ ${QtLocation_BINARY_DIR}
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5Location_INCLUDE_DIRS}
+ ${SHIBOKEN_INCLUDE_DIR}
+ ${libpyside_SOURCE_DIR}
+ ${SHIBOKEN_PYTHON_INCLUDE_DIR}
+ ${QtCore_GEN_DIR}
+ ${QtPositioning_GEN_DIR})
+
+set(QtLocation_libraries pyside2
+ ${SHIBOKEN_PYTHON_LIBRARIES}
+ ${SHIBOKEN_LIBRARY}
+ ${Qt5Location_LIBRARIES})
+
+set(QtLocation_deps QtCore QtPositioning)
+
+create_pyside_module(QtLocation
+ QtLocation_include_dirs
+ QtLocation_libraries
+ QtLocation_deps
+ QtLocation_SOURCE_DIR
+ QtLocation_SRC
+ ""
+ ""
+ QtLocation_DROPPED_ENTRIES)
diff --git a/sources/pyside2/PySide2/QtLocation/typesystem_location.xml b/sources/pyside2/PySide2/QtLocation/typesystem_location.xml
new file mode 100644
index 00000000..de8fbca7
--- /dev/null
+++ b/sources/pyside2/PySide2/QtLocation/typesystem_location.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<!--
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of PySide2.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+-->
+<typesystem package="PySide2.QtLocation">
+ <load-typesystem name="QtCore/typesystem_core.xml" generate="no"/>
+ <load-typesystem name="QtPositioning/typesystem_positioning.xml" generate="no"/>
+ <object-type name="QGeoCodeReply">
+ <enum-type name="Error"/>
+ </object-type>
+ <value-type name="QGeoManeuver">
+ <enum-type name="InstructionDirection"/>
+ </value-type>
+ <value-type name="QGeoRoute"/>
+ <object-type name="QGeoRouteReply">
+ <enum-type name="Error"/>
+ </object-type>
+ <value-type name="QGeoRouteSegment"/>
+ <object-type name="QGeoServiceProvider">
+ <enum-type name="Error"/>
+ <enum-type name="RoutingFeature" flags="RoutingFeatures"/>
+ <enum-type name="GeocodingFeature" flags="GeocodingFeatures"/>
+ <enum-type name="MappingFeature" flags="MappingFeatures"/>
+ <enum-type name="PlacesFeature" flags="PlacesFeatures"/>
+ <enum-type name="NavigationFeature" flags="NavigationFeatures"/>
+ </object-type>
+ <value-type name="QPlace"/>
+ <object-type name="QPlaceContentReply"/>
+ <object-type name="QPlaceDetailsReply"/>
+ <value-type name="QPlaceIcon"/>
+ <object-type name="QPlaceIdReply">
+ <enum-type name="OperationType"/>
+ </object-type>
+ <object-type name="QPlaceManager"/>
+ <value-type name="QPlaceUser"/>
+ <object-type name="QGeoCodingManager"/>
+ <object-type name="QGeoCodingManagerEngine"/>
+ <object-type name="QGeoRouteRequest">
+ <enum-type name="TravelMode" flags="TravelModes"/>
+ <enum-type name="FeatureType" flags="FeatureTypes"/>
+ <enum-type name="FeatureWeight" flags="FeatureWeights"/>
+ <enum-type name="RouteOptimization" flags="RouteOptimizations"/>
+ <enum-type name="SegmentDetail" flags="SegmentDetails"/>
+ <enum-type name="ManeuverDetail" flags="ManeuverDetails"/>
+ </object-type>
+ <object-type name="QGeoRoutingManager"/>
+ <object-type name="QGeoRoutingManagerEngine"/>
+ <object-type name="QGeoServiceProviderFactory"/>
+ <object-type name="QGeoServiceProviderFactoryV2" since="5.11"/>
+ <value-type name="QPlaceAttribute"/>
+ <value-type name="QPlaceCategory"/>
+ <value-type name="QPlaceContactDetail"/>
+ <value-type name="QPlaceContent"/>
+ <value-type name="QPlaceContentRequest"/>
+ <object-type name="QPlaceEditorial"/>
+ <object-type name="QPlaceImage"/>
+ <object-type name="QPlaceManagerEngine"/>
+ <object-type name="QPlaceMatchReply"/>
+ <value-type name="QPlaceMatchRequest"/>
+ <object-type name="QPlaceProposedSearchResult"/>
+ <value-type name="QPlaceRatings"/>
+ <object-type name="QPlaceReply">
+ <enum-type name="Error"/>
+ <enum-type name="Type"/>
+ </object-type>
+ <object-type name="QPlaceResult"/>
+ <object-type name="QPlaceReview"/>
+ <object-type name="QPlaceSearchReply"/>
+ <object-type name="QPlaceSearchRequest">
+ <enum-type name="RelevanceHint"/>
+ </object-type>
+ <object-type name="QPlaceSearchResult"/>
+ <object-type name="QPlaceSearchSuggestionReply"/>
+ <value-type name="QPlaceSupplier"/>
+</typesystem>
diff --git a/sources/pyside2/PySide2/QtPositioning/CMakeLists.txt b/sources/pyside2/PySide2/QtPositioning/CMakeLists.txt
new file mode 100644
index 00000000..3a2eb9cf
--- /dev/null
+++ b/sources/pyside2/PySide2/QtPositioning/CMakeLists.txt
@@ -0,0 +1,55 @@
+project(QtPositioning)
+
+set(QtPositioning_OPTIONAL_SRC )
+set(QtPositioning_DROPPED_ENTRIES )
+
+set(QtPositioning_SRC
+${QtPositioning_GEN_DIR}/qgeoaddress_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeoareamonitorinfo_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeoareamonitorsource_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeolocation_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeocircle_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeocoordinate_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeopath_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeopositioninfo_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeopositioninfosource_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeopositioninfosourcefactory_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeorectangle_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeosatelliteinfo_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeosatelliteinfosource_wrapper.cpp
+${QtPositioning_GEN_DIR}/qgeoshape_wrapper.cpp
+${QtPositioning_GEN_DIR}/qnmeapositioninfosource_wrapper.cpp
+# module is always needed
+${QtPositioning_GEN_DIR}/qtpositioning_module_wrapper.cpp
+)
+
+if (Qt5Positioning_VERSION VERSION_EQUAL 5.10.0 OR Qt5Positioning_VERSION VERSION_GREATER 5.10.0)
+ list(APPEND QtPositioning_SRC
+ ${QtPositioning_GEN_DIR}/qgeopolygon_wrapper.cpp)
+endif()
+
+set(QtPositioning_include_dirs ${QtPositioning_SOURCE_DIR}
+ ${QtPositioning_BINARY_DIR}
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5Positioning_INCLUDE_DIRS}
+ ${SHIBOKEN_INCLUDE_DIR}
+ ${libpyside_SOURCE_DIR}
+ ${SHIBOKEN_PYTHON_INCLUDE_DIR}
+ ${QtCore_GEN_DIR})
+
+set(QtPositioning_libraries pyside2
+ ${SHIBOKEN_PYTHON_LIBRARIES}
+ ${SHIBOKEN_LIBRARY}
+ ${Qt5Positioning_LIBRARIES})
+
+set(QtPositioning_deps QtCore)
+
+create_pyside_module(QtPositioning
+ QtPositioning_include_dirs
+ QtPositioning_libraries
+ QtPositioning_deps
+ QtPositioning_SOURCE_DIR
+ QtPositioning_SRC
+ ""
+ ""
+ QtPositioning_DROPPED_ENTRIES)
diff --git a/sources/pyside2/PySide2/QtPositioning/typesystem_positioning.xml b/sources/pyside2/PySide2/QtPositioning/typesystem_positioning.xml
new file mode 100644
index 00000000..058994ad
--- /dev/null
+++ b/sources/pyside2/PySide2/QtPositioning/typesystem_positioning.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<!--
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of PySide2.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+-->
+<typesystem package="PySide2.QtPositioning">
+ <load-typesystem name="QtCore/typesystem_core.xml" generate="no"/>
+ <value-type name="QGeoAddress"/>
+ <value-type name="QGeoAreaMonitorInfo"/>
+ <object-type name="QGeoAreaMonitorSource">
+ <enum-type name="Error"/>
+ <enum-type name="AreaMonitorFeature" flags="AreaMonitorFeatures"/>
+ </object-type>
+ <value-type name="QGeoLocation"/>
+ <value-type name="QGeoCircle"/>
+ <value-type name="QGeoCoordinate">
+ <enum-type name="CoordinateType"/>
+ <enum-type name="CoordinateFormat"/>
+ </value-type>
+ <value-type name="QGeoPath"/>
+ <value-type name="QGeoPolygon" since="5.10"/>
+ <value-type name="QGeoPositionInfo">
+ <enum-type name="Attribute"/>
+ </value-type>
+ <object-type name="QGeoPositionInfoSource">
+ <enum-type name="Error"/>
+ <enum-type name="PositioningMethod" flags="PositioningMethods"/>
+ </object-type>
+ <object-type name="QGeoPositionInfoSourceFactory"/>
+ <value-type name="QGeoRectangle"/>
+ <value-type name="QGeoSatelliteInfo">
+ <enum-type name="Attribute"/>
+ <enum-type name="SatelliteSystem"/>
+ </value-type>
+ <object-type name="QGeoSatelliteInfoSource">
+ <enum-type name="Error"/>
+ </object-type>
+ <value-type name="QGeoShape">
+ <enum-type name="ShapeType"/>
+ </value-type>
+ <object-type name="QNmeaPositionInfoSource">
+ <enum-type name="UpdateMode"/>
+ </object-type>
+</typesystem>
diff --git a/sources/pyside2/tests/QtLocation/CMakeLists.txt b/sources/pyside2/tests/QtLocation/CMakeLists.txt
new file mode 100644
index 00000000..b97ac109
--- /dev/null
+++ b/sources/pyside2/tests/QtLocation/CMakeLists.txt
@@ -0,0 +1 @@
+PYSIDE_TEST(location.py)
diff --git a/sources/pyside2/tests/QtLocation/location.py b/sources/pyside2/tests/QtLocation/location.py
new file mode 100644
index 00000000..ca964c46
--- /dev/null
+++ b/sources/pyside2/tests/QtLocation/location.py
@@ -0,0 +1,41 @@
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the test suite of PySide2.
+##
+## $QT_BEGIN_LICENSE:GPL-EXCEPT$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 3 as published by the Free Software
+## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+'''Unit test for Location'''
+
+from PySide2.QtLocation import QGeoServiceProvider
+import unittest
+
+class QLocationTestCase(unittest.TestCase):
+ def test(self):
+ geoServiceProvider = QGeoServiceProvider("none")
+ self.assertEqual(geoServiceProvider.errorString(),
+ 'The geoservices provider none is not supported.')
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/sources/pyside2/tests/QtPositioning/CMakeLists.txt b/sources/pyside2/tests/QtPositioning/CMakeLists.txt
new file mode 100644
index 00000000..b9f7631b
--- /dev/null
+++ b/sources/pyside2/tests/QtPositioning/CMakeLists.txt
@@ -0,0 +1 @@
+PYSIDE_TEST(positioning.py)
diff --git a/sources/pyside2/tests/QtPositioning/positioning.py b/sources/pyside2/tests/QtPositioning/positioning.py
new file mode 100644
index 00000000..9f61fe1e
--- /dev/null
+++ b/sources/pyside2/tests/QtPositioning/positioning.py
@@ -0,0 +1,43 @@
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the test suite of PySide2.
+##
+## $QT_BEGIN_LICENSE:GPL-EXCEPT$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 3 as published by the Free Software
+## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+'''Unit test for Positioning'''
+
+from PySide2.QtPositioning import QGeoPositionInfoSource
+import unittest
+
+class QPositioningTestCase(unittest.TestCase):
+ def test(self):
+ source = QGeoPositionInfoSource.createDefaultSource(None)
+ self.assertTrue(source is not None)
+ name = source.sourceName()
+ print('QtPositioning source: {}'.format(name))
+ self.assertTrue(name)
+
+if __name__ == "__main__":
+ unittest.main()