diff --git a/scripts/spelling.dat b/scripts/spelling.dat index 6fb28755197..ac71ceb1faa 100644 --- a/scripts/spelling.dat +++ b/scripts/spelling.dat @@ -467,3 +467,4 @@ widht:width heigth:height heigh:height delimted:delimited +teh:the diff --git a/src/core/qgsrenderchecker.cpp b/src/core/qgsrenderchecker.cpp index 39515a195d0..6314607e1eb 100644 --- a/src/core/qgsrenderchecker.cpp +++ b/src/core/qgsrenderchecker.cpp @@ -75,7 +75,7 @@ bool QgsRenderChecker::isKnownAnomaly( QString theDiffImageFile ) QString myFilename = "*"; myList = myDirectory.entryList( QStringList( myFilename ), QDir::Files | QDir::NoSymLinks ); - //remove the control file from teh list as the anomalies are + //remove the control file from the list as the anomalies are //all files except the control file myList.removeAt( myList.indexOf( mExpectedImageFile ) ); @@ -241,11 +241,11 @@ bool QgsRenderChecker::compareImages( QString theTestName, // QString myDashMessage = "" + mRenderedImageFile + - "" + "\n" "" + - mExpectedImageFile + "" + mExpectedImageFile + "\n" "" + - myDiffImageFile + ""; + myDiffImageFile + "\n"; qDebug( ) << myDashMessage; // diff --git a/src/core/qgsrenderchecker.h b/src/core/qgsrenderchecker.h index d50f95f698e..b4295f5bcb1 100644 --- a/src/core/qgsrenderchecker.h +++ b/src/core/qgsrenderchecker.h @@ -16,9 +16,15 @@ #ifndef QGSRENDERCHECKER_H #define QGSRENDERCHECKER_H +#include #include #include +#include +#include + #include +#include + class QImage; /** \ingroup UnitTests @@ -86,7 +92,7 @@ class CORE_EXPORT QgsRenderChecker * @note: make sure to call setExpectedImage and setRenderedImage first. */ bool compareImages( QString theTestName, unsigned int theMismatchCount = 0, QString theRenderedImageFile = "" ); - /** Get a list of all teh anomalies. An anomaly is a rendered difference + /** Get a list of all the anomalies. An anomaly is a rendered difference * file where there is some red pixel content (indicating a render check * mismatch), but where the output was still acceptible. If the render * diff matches one of these anomalies we will still consider it to be @@ -110,4 +116,50 @@ class CORE_EXPORT QgsRenderChecker }; // class QgsRenderChecker + +/** Compare two WKT strings with some tolerance + * @param a first WKT string + * @param b second WKT string + * @param tolerance tolerance to use (optional, defaults to 0.000001) + * @return bool indicating if the WKT are sufficiently equal + */ + +inline bool compareWkt( QString a, QString b, double tolerance = 0.000001 ) +{ + QgsDebugMsg( QString( "a:%1 b:%2 tol:%3" ).arg( a ).arg( b ).arg( tolerance ) ); + QRegExp re( "-?\\d+(?:\\.\\d+)?(?:[eE]\\d+)?" ); + + QString a0( a ), b0( b ); + a0.replace( re, "#" ); + b0.replace( re, "#" ); + + QgsDebugMsg( QString( "a0:%1 b0:%2" ).arg( a0 ).arg( b0 ) ); + + if ( a0 != b0 ) + return false; + + QList al, bl; + + int pos; + for ( pos = 0; ( pos = re.indexIn( a, pos ) ) != -1; pos += re.matchedLength() ) + { + al << re.cap( 0 ).toDouble(); + } + for ( pos = 0; ( pos = re.indexIn( b, pos ) ) != -1; pos += re.matchedLength() ) + { + bl << re.cap( 0 ).toDouble(); + } + + if ( al.size() != bl.size() ) + return false; + + for ( int i = 0; i < al.size(); i++ ) + { + if ( !qgsDoubleNear( al[i], bl[i], tolerance ) ) + return false; + } + + return true; +} + #endif diff --git a/tests/src/core/regression1141.cpp b/tests/src/core/regression1141.cpp index bc6d67e99fc..dbc9471f934 100644 --- a/tests/src/core/regression1141.cpp +++ b/tests/src/core/regression1141.cpp @@ -19,7 +19,6 @@ #include #include #include -#include #include #include @@ -35,6 +34,11 @@ #include #include //defines GEOWkt #include +#include + +#if defined(linux) +#include +#endif /** \ingroup UnitTests @@ -90,6 +94,16 @@ void Regression1141::cleanupTestCase() void Regression1141::diacriticalTest() { +#if defined(linux) + const char *cs = nl_langinfo( CODESET ); + QgsDebugMsg( QString( "CODESET:%1" ).arg( cs ? cs : "unset" ) ); + if ( !cs || strcmp( cs, "UTF-8" ) != 0 ) + { + QSKIP( "This test requires a UTF-8 locale", SkipSingle ); + return; + } +#endif + //create some objects that will be used in all tests... mEncoding = "UTF-8"; QgsField myField( "ąęćń", QVariant::Int, "int", 10, 0, "Value on lon" ); diff --git a/tests/src/core/testqgsexpression.cpp b/tests/src/core/testqgsexpression.cpp index 955c5f36b09..3eac8977e5a 100644 --- a/tests/src/core/testqgsexpression.cpp +++ b/tests/src/core/testqgsexpression.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #if QT_VERSION < 0x40701 // See http://hub.qgis.org/issues/4284 @@ -809,7 +810,7 @@ class TestQgsExpression: public QObject QCOMPARE( out.canConvert(), true ); QgsGeometry outGeom = out.value(); - QCOMPARE( outGeom.exportToWkt(), result->exportToWkt() ); + QVERIFY( compareWkt( outGeom.exportToWkt(), result->exportToWkt() ) ); } void eval_special_columns() diff --git a/tests/src/core/testqgsgeometry.cpp b/tests/src/core/testqgsgeometry.cpp index 33f58256968..c40f680017b 100644 --- a/tests/src/core/testqgsgeometry.cpp +++ b/tests/src/core/testqgsgeometry.cpp @@ -370,7 +370,6 @@ void TestQgsGeometry::dumpPolyline( QgsPolyline &thePolyline ) mpPainter->drawPolyline( myPoints ); } - QTEST_MAIN( TestQgsGeometry ) #include "moc_testqgsgeometry.cxx" diff --git a/tests/src/python/qgis_interface.py b/tests/src/python/qgis_interface.py index c4bec2aefba..4506645b1a7 100644 --- a/tests/src/python/qgis_interface.py +++ b/tests/src/python/qgis_interface.py @@ -24,6 +24,7 @@ __copyright__ = ('Copyright (c) 2010 by Ivan Mincik, ivan.mincik@gista.sk and ' 'Copyright (c) 2011 German Carrillo, ' 'geotux_tuxman@linuxmail.org') +import qgis from PyQt4.QtCore import QObject from qgis.core import QgsMapLayerRegistry diff --git a/tests/src/python/qgscompositionchecker.py b/tests/src/python/qgscompositionchecker.py index a7fa7739980..6b245532c26 100644 --- a/tests/src/python/qgscompositionchecker.py +++ b/tests/src/python/qgscompositionchecker.py @@ -14,6 +14,8 @@ qgscompositionchecker.py - check rendering of Qgscomposition against an expected * * ***************************************************************************/ ''' +import qgis + from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * @@ -92,7 +94,7 @@ class QgsCompositionChecker: mismatchCount = mismatchCount + 1 differenceImage.setPixel( j, i, qRgb( 255, 0, 0 ) ) - if not differenceImagePath.isEmpty(): + if differenceImagePath != "": differenceImage.save( differenceImagePath, "PNG" ) #allow pixel deviation of 1 percent diff --git a/tests/src/python/test_qgsanalysis.py b/tests/src/python/test_qgsanalysis.py index 36d091b2a70..3e9db6be19d 100644 --- a/tests/src/python/test_qgsanalysis.py +++ b/tests/src/python/test_qgsanalysis.py @@ -17,8 +17,10 @@ test_analysis.py import unittest import sys import os +import qgis + from utilities import unitTestDataPath, getQgisTestApp -from PyQt4.QtCore import QFileInfo, QDir, QStringList +from PyQt4.QtCore import QFileInfo, QDir from PyQt4.QtXml import QDomDocument # support python < 2.7 via unittest2 diff --git a/tests/src/python/test_qgsapplication.py b/tests/src/python/test_qgsapplication.py index 7f973d5ac4e..b1d5243ff43 100644 --- a/tests/src/python/test_qgsapplication.py +++ b/tests/src/python/test_qgsapplication.py @@ -11,6 +11,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' +import qgis from utilities import getQgisTestApp, unittest QGISAPP, CANVAS, IFACE, PARENT = getQgisTestApp() diff --git a/tests/src/python/test_qgsatlascomposition.py b/tests/src/python/test_qgsatlascomposition.py index e3e1b61754f..69867fa50e1 100644 --- a/tests/src/python/test_qgsatlascomposition.py +++ b/tests/src/python/test_qgsatlascomposition.py @@ -14,6 +14,7 @@ test_qgsatlascomposition.py * * ***************************************************************************/ ''' +import qgis import unittest from utilities import * from PyQt4.QtCore import * @@ -28,14 +29,14 @@ class TestQgsAtlasComposition(unittest.TestCase): def testCase(self): self.TEST_DATA_DIR = unitTestDataPath() - vectorFileInfo = QFileInfo( self.TEST_DATA_DIR + QDir().separator().toAscii() + "france_parts.shp") + vectorFileInfo = QFileInfo( self.TEST_DATA_DIR + QDir().separator() + "france_parts.shp") mVectorLayer = QgsVectorLayer( vectorFileInfo.filePath(), vectorFileInfo.completeBaseName(), "ogr" ) QgsMapLayerRegistry.instance().addMapLayers( [mVectorLayer] ) # create composition with composer map mMapRenderer = QgsMapRenderer() - layerStringList = QStringList() + layerStringList = [] layerStringList.append( mVectorLayer.id() ) mMapRenderer.setLayerSet( layerStringList ) mMapRenderer.setProjectionsEnabled( True ) @@ -102,7 +103,7 @@ class TestQgsAtlasComposition(unittest.TestCase): self.mAtlas.beginRender() for i in range(0, self.mAtlas.numFeatures()): self.mAtlas.prepareForFeature( i ) - expected = QString( "output_%1" ).arg(i+1) + expected = "output_%d" % (i+1) assert self.mAtlas.currentFilename() == expected self.mAtlas.endRender() @@ -118,10 +119,10 @@ class TestQgsAtlasComposition(unittest.TestCase): checker = QgsCompositionChecker() res = checker.testComposition( "Atlas autoscale test", self.mComposition, \ - QString( self.TEST_DATA_DIR ) + QDir.separator() + \ + self.TEST_DATA_DIR + QDir.separator() + \ "control_images" + QDir.separator() + \ "expected_composermapatlas" + QDir.separator() + \ - QString( "autoscale_%1.png" ).arg( i ) ) + "autoscale_%d.png" % i ) assert res[0] == True self.mAtlas.endRender() @@ -137,10 +138,10 @@ class TestQgsAtlasComposition(unittest.TestCase): checker = QgsCompositionChecker() res = checker.testComposition( "Atlas fixed scale test", self.mComposition, \ - QString( self.TEST_DATA_DIR ) + QDir.separator() + \ + self.TEST_DATA_DIR + QDir.separator() + \ "control_images" + QDir.separator() + \ "expected_composermapatlas" + QDir.separator() + \ - QString( "fixedscale_%1.png" ).arg( i ) ) + "fixedscale_%d.png" % i ) assert res[0] == True self.mAtlas.endRender() @@ -157,10 +158,10 @@ class TestQgsAtlasComposition(unittest.TestCase): checker = QgsCompositionChecker() res = checker.testComposition( "Atlas hidden test", self.mComposition, \ - QString( self.TEST_DATA_DIR ) + QDir.separator() + \ + self.TEST_DATA_DIR + QDir.separator() + \ "control_images" + QDir.separator() + \ "expected_composermapatlas" + QDir.separator() + \ - QString( "hiding_%1.png" ).arg( i ) ) + "hiding_%d.png" % i ) assert res[0] == True self.mAtlas.endRender() @@ -181,10 +182,10 @@ class TestQgsAtlasComposition(unittest.TestCase): checker = QgsCompositionChecker() res = checker.testComposition( "Atlas sorting test", self.mComposition, \ - QString( self.TEST_DATA_DIR ) + QDir.separator() + \ + self.TEST_DATA_DIR + QDir.separator() + \ "control_images" + QDir.separator() + \ "expected_composermapatlas" + QDir.separator() + \ - QString( "sorting_%1.png" ).arg( i ) ) + "sorting_%d.png" % i ) assert res[0] == True self.mAtlas.endRender() @@ -206,10 +207,10 @@ class TestQgsAtlasComposition(unittest.TestCase): checker = QgsCompositionChecker() res = checker.testComposition( "Atlas filtering test", self.mComposition, \ - QString( self.TEST_DATA_DIR ) + QDir.separator() + \ + self.TEST_DATA_DIR + QDir.separator() + \ "control_images" + QDir.separator() + \ "expected_composermapatlas" + QDir.separator() + \ - QString( "filtering_%1.png" ).arg( i ) ) + "filtering_%d.png" % i ) assert res[0] == True self.mAtlas.endRender() diff --git a/tests/src/python/test_qgsblendmodes.py b/tests/src/python/test_qgsblendmodes.py index 65bd2b9d715..b3286dc7130 100644 --- a/tests/src/python/test_qgsblendmodes.py +++ b/tests/src/python/test_qgsblendmodes.py @@ -24,6 +24,7 @@ __copyright__ = '(C) 2013, Nyall Dawson, Massimo Endrighi' __revision__ = '$Format:%H$' import os +import qgis from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -95,7 +96,7 @@ class TestQgsBlendModes(TestCase): """Test that blend modes work for vector layers.""" #Add vector layers to map - myLayers = QStringList() + myLayers = [] myLayers.append(self.mLineLayer.id()) myLayers.append(self.mPolygonLayer.id()) self.mMapRenderer.setLayerSet(myLayers) @@ -121,7 +122,7 @@ class TestQgsBlendModes(TestCase): """Test that feature blend modes work for vector layers.""" #Add vector layers to map - myLayers = QStringList() + myLayers = [] myLayers.append(self.mLineLayer.id()) myLayers.append(self.mPolygonLayer.id()) self.mMapRenderer.setLayerSet(myLayers) @@ -145,7 +146,7 @@ class TestQgsBlendModes(TestCase): """Test that layer transparency works for vector layers.""" #Add vector layers to map - myLayers = QStringList() + myLayers = [] myLayers.append(self.mLineLayer.id()) myLayers.append(self.mPolygonLayer.id()) self.mMapRenderer.setLayerSet(myLayers) @@ -165,7 +166,7 @@ class TestQgsBlendModes(TestCase): def testRasterBlending(self): """Test that blend modes work for raster layers.""" #Add raster layers to map - myLayers = QStringList() + myLayers = [] myLayers.append(self.mRasterLayer1.id()) myLayers.append(self.mRasterLayer2.id()) self.mMapRenderer.setLayerSet(myLayers) diff --git a/tests/src/python/test_qgscomposereffects.py b/tests/src/python/test_qgscomposereffects.py index d14a95f7221..5d28cb74cc2 100644 --- a/tests/src/python/test_qgscomposereffects.py +++ b/tests/src/python/test_qgscomposereffects.py @@ -13,8 +13,8 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os -from PyQt4.QtCore import (QStringList, - QFileInfo) +import qgis +from PyQt4.QtCore import QFileInfo from PyQt4.QtXml import QDomDocument from PyQt4.QtGui import (QPainter, QColor) diff --git a/tests/src/python/test_qgscomposerhtml.py b/tests/src/python/test_qgscomposerhtml.py index c53a0c207f1..8fc82e4a66b 100644 --- a/tests/src/python/test_qgscomposerhtml.py +++ b/tests/src/python/test_qgscomposerhtml.py @@ -14,7 +14,8 @@ __revision__ = '$Format:%H$' import unittest import os -from PyQt4.QtCore import QUrl, QString, qDebug +import qgis +from PyQt4.QtCore import QUrl, qDebug from PyQt4.QtXml import QDomDocument from qgis.core import (QgsComposition, QgsComposerHtml, @@ -54,7 +55,7 @@ class TestQgsComposerHtml(TestCase): def htmlUrl(self): """Helper to get the url of the html doc.""" myPath = os.path.join(TEST_DATA_DIR, "html_table.html") - myUrl = QUrl(QString("file:///%1").arg(myPath)) + myUrl = QUrl("file:///%1").arg(myPath) return myUrl @expectedFailure diff --git a/tests/src/python/test_qgscomposerlabel.py b/tests/src/python/test_qgscomposerlabel.py index bd7aa3c9d00..467b7814821 100644 --- a/tests/src/python/test_qgscomposerlabel.py +++ b/tests/src/python/test_qgscomposerlabel.py @@ -15,6 +15,7 @@ test_qgscomposerlabel.py ***************************************************************************/ ''' import unittest +import qgis from utilities import * from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -27,14 +28,14 @@ class TestQgsComposerLabel(unittest.TestCase): def testCase(self): TEST_DATA_DIR = unitTestDataPath() - vectorFileInfo = QFileInfo( TEST_DATA_DIR + QDir().separator().toAscii() + "france_parts.shp") + vectorFileInfo = QFileInfo( TEST_DATA_DIR + QDir().separator() + "france_parts.shp") mVectorLayer = QgsVectorLayer( vectorFileInfo.filePath(), vectorFileInfo.completeBaseName(), "ogr" ) QgsMapLayerRegistry.instance().addMapLayers( [mVectorLayer] ) # create composition with composer map mMapRenderer = QgsMapRenderer() - layerStringList = QStringList() + layerStringList = [] layerStringList.append( mVectorLayer.id() ) mMapRenderer.setLayerSet( layerStringList ) mMapRenderer.setProjectionsEnabled( False ) @@ -62,7 +63,7 @@ class TestQgsComposerLabel(unittest.TestCase): # $CURRENT_DATE() evaluation (inside an expression) mLabel.setText( "__[%$CURRENT_DATE(dd) + 1%](ok)__" ) dd = QDate.currentDate().day() - expected = "__" + QString( "%1" ).arg(dd+1) + "(ok)__" + expected = "__%d(ok)__" % (dd+1) assert mLabel.displayText() == expected # expression evaluation (without associated feature) @@ -101,9 +102,9 @@ class TestQgsComposerLabel(unittest.TestCase): # use setSpecialColumn mLabel.setText( "[%$var1 + 1%]" ) - QgsExpression.setSpecialColumn( "$var1", QVariant(41) ) + QgsExpression.setSpecialColumn( "$var1", 41 ) assert mLabel.displayText() == "42" - QgsExpression.setSpecialColumn( "$var1", QVariant(99) ) + QgsExpression.setSpecialColumn( "$var1", 99 ) assert mLabel.displayText() == "100" QgsExpression.unsetSpecialColumn( "$var1" ) assert mLabel.displayText() == "[%$var1 + 1%]" diff --git a/tests/src/python/test_qgscomposermap.py b/tests/src/python/test_qgscomposermap.py index 72c1895e6b4..8b94ef85f86 100644 --- a/tests/src/python/test_qgscomposermap.py +++ b/tests/src/python/test_qgscomposermap.py @@ -13,8 +13,8 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os -from PyQt4.QtCore import (QStringList, - QFileInfo) +import qgis +from PyQt4.QtCore import QFileInfo from PyQt4.QtXml import QDomDocument from PyQt4.QtGui import (QPainter, QColor) @@ -57,7 +57,7 @@ class TestQgsComposerMap(TestCase): # create composition with composer map self.mMapRenderer = QgsMapRenderer() - layerStringList = QStringList() + layerStringList = [] layerStringList.append(mRasterLayer.id()) self.mMapRenderer.setLayerSet(layerStringList) self.mMapRenderer.setProjectionsEnabled(False) diff --git a/tests/src/python/test_qgscomposition.py b/tests/src/python/test_qgscomposition.py index 98d3e5ad885..592a05dbf72 100644 --- a/tests/src/python/test_qgscomposition.py +++ b/tests/src/python/test_qgscomposition.py @@ -13,8 +13,9 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os +import qgis -from PyQt4.QtCore import QFileInfo, QDir, QStringList +from PyQt4.QtCore import QFileInfo, QDir from PyQt4.QtXml import QDomDocument from qgis.core import (QgsComposition, @@ -104,7 +105,7 @@ class TestQgsComposition(TestCase): QgsMapLayerRegistry.instance().addMapLayers([myRasterLayer]) myMapRenderer = QgsMapRenderer() - myLayerStringList = QStringList() + myLayerStringList = [] myLayerStringList.append(myRasterLayer.id()) myMapRenderer.setLayerSet(myLayerStringList) myMapRenderer.setProjectionsEnabled(False) diff --git a/tests/src/python/test_qgscoordinatetransform.py b/tests/src/python/test_qgscoordinatetransform.py index 7d696a03112..2260b29aa56 100644 --- a/tests/src/python/test_qgscoordinatetransform.py +++ b/tests/src/python/test_qgscoordinatetransform.py @@ -12,6 +12,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' +import qgis from qgis.core import (QgsRectangle, QgsCoordinateReferenceSystem, QgsCoordinateTransform, diff --git a/tests/src/python/test_qgsdelimitedtextprovider.py b/tests/src/python/test_qgsdelimitedtextprovider.py index 9395cf46622..4c525acd6a0 100644 --- a/tests/src/python/test_qgsdelimitedtextprovider.py +++ b/tests/src/python/test_qgsdelimitedtextprovider.py @@ -23,8 +23,8 @@ __revision__ = '$Format:%H$' # # To recreate all tests, set rebuildTests to true -import os; -import os.path; +import os +import os.path import re import tempfile import inspect @@ -33,13 +33,7 @@ import test_qgsdelimitedtextprovider_wanted as want rebuildTests = 'REBUILD_DELIMITED_TEXT_TESTS' in os.environ; - -import sip -#API_NAMES = ["QDate", "QDateTime", "QString", "QTextStream", "QTime", "QUrl", "QVariant"] -API_NAMES = ["QString", "QUrl", "QVariant"] -API_VERSION = 2 -for name in API_NAMES: - sip.setapi(name, API_VERSION) +import qgis from PyQt4.QtCore import (QVariant, QCoreApplication, @@ -69,6 +63,7 @@ from utilities import (getQgisTestApp, QGISAPP, CANVAS, IFACE, PARENT = getQgisTestApp() +import sip sipversion=str(sip.getapi('QVariant')) sipwanted='2' geomkey = "#geometry" diff --git a/tests/src/python/test_qgsexpression.py b/tests/src/python/test_qgsexpression.py index 2bed08dc7f8..367d9ec8b57 100644 --- a/tests/src/python/test_qgsexpression.py +++ b/tests/src/python/test_qgsexpression.py @@ -12,16 +12,16 @@ __copyright__ = 'Copyright 2012, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' +import qgis from utilities import unittest, TestCase from qgis.utils import qgsfunction from qgis.core import QgsExpression -from PyQt4.QtCore import QString class TestQgsExpressionCustomFunctions(TestCase): @qgsfunction(1, 'testing', register=False) def testfun(values, feature, parent): """ Function help """ - return "Testing_%s" % str(values[0].toString()) + return "Testing_%s" % values[0] @qgsfunction(0, 'testing', register=False) def special(values, feature, parent): @@ -51,8 +51,8 @@ class TestQgsExpressionCustomFunctions(TestCase): def testCanEvaluateFunction(self): QgsExpression.registerFunction(self.testfun) exp = QgsExpression('testfun(1)') - result = exp.evaluate().toString() - self.assertEqual(QString('Testing_1'), result) + result = exp.evaluate() + self.assertEqual('Testing_1', result) def testZeroArgFunctionsAreSpecialColumns(self): special = self.special diff --git a/tests/src/python/test_qgsfeature.py b/tests/src/python/test_qgsfeature.py index 5b8bda75c7e..5d053445aeb 100644 --- a/tests/src/python/test_qgsfeature.py +++ b/tests/src/python/test_qgsfeature.py @@ -14,7 +14,7 @@ __revision__ = '$Format:%H$' import os -from PyQt4.QtCore import QVariant +import qgis from qgis.core import QgsFeature, QgsGeometry, QgsPoint, QgsVectorLayer from utilities import (unitTestDataPath, getQgisTestApp, @@ -44,6 +44,7 @@ class TestQgsFeature(TestCase): fit = provider.getFeatures() feat = QgsFeature() fit.nextFeature(feat) + fit.close() myValidValue = feat.isValid() myMessage = '\nExpected: %s\nGot: %s' % ("True", myValidValue) assert myValidValue == True, myMessage @@ -55,13 +56,14 @@ class TestQgsFeature(TestCase): fit = provider.getFeatures() feat = QgsFeature() fit.nextFeature(feat) + fit.close() myAttributes = feat.attributes() - myExpectedAttributes = [ QVariant("Highway"), QVariant(1) ] + myExpectedAttributes = [ "Highway", 1 ] # Only for printing purposes myAttributeDict = [ - str(myAttributes[0].toString()), - int(myAttributes[1].toString()) ] + myAttributes[0], + myAttributes[1] ] myExpectedAttributes = [ "Highway", 1 ] myMessage = '\nExpected: %s\nGot: %s' % (myExpectedAttributes, myAttributes) @@ -71,11 +73,11 @@ class TestQgsFeature(TestCase): def test_DeleteAttribute(self): feat = QgsFeature() feat.initAttributes(3) - feat[0] = QVariant("text1") - feat[1] = QVariant("text2") - feat[2] = QVariant("text3") + feat[0] = "text1" + feat[1] = "text2" + feat[2] = "text3" feat.deleteAttribute(1) - myAttrs = [ str(feat[0].toString()), str(feat[1].toString()) ] + myAttrs = [ feat[0], feat[1] ] myExpectedAttrs = [ "text1", "text3" ] myMessage = '\nExpected: %s\nGot: %s' % (str(myExpectedAttrs), str(myAttrs)) assert myAttrs == myExpectedAttrs, myMessage diff --git a/tests/src/python/test_qgsgeometry.py b/tests/src/python/test_qgsgeometry.py index c407bad282b..5e34116b73f 100644 --- a/tests/src/python/test_qgsgeometry.py +++ b/tests/src/python/test_qgsgeometry.py @@ -14,7 +14,7 @@ __revision__ = '$Format:%H$' import os -from PyQt4.QtCore import QVariant +import qgis from qgis.core import (QgsGeometry, QgsVectorLayer, @@ -264,7 +264,7 @@ class TestQgsGeometry(TestCase): QgsPoint(40,10), ] )) - myFeature1.setAttributes([QVariant('Johny')]) + myFeature1.setAttributes(['Johny']) myFeature2 = QgsFeature() myFeature2.setGeometry(QgsGeometry.fromPolyline([ @@ -274,7 +274,7 @@ class TestQgsGeometry(TestCase): QgsPoint(40,40), ] )) - myFeature2.setAttributes([QVariant('Be')]) + myFeature2.setAttributes(['Be']) myFeature3 = QgsFeature() myFeature3.setGeometry(QgsGeometry.fromPolyline([ @@ -285,7 +285,7 @@ class TestQgsGeometry(TestCase): ] )) - myFeature3.setAttributes([QVariant('Good')]) + myFeature3.setAttributes(['Good']) myResult, myFeatures = myProvider.addFeatures( [myFeature1, myFeature2, myFeature3]) diff --git a/tests/src/python/test_qgsissue7244.py b/tests/src/python/test_qgsissue7244.py index f2f34aa6bbe..36dfe048e38 100644 --- a/tests/src/python/test_qgsissue7244.py +++ b/tests/src/python/test_qgsissue7244.py @@ -14,6 +14,7 @@ __revision__ = '$Format:%H$' import os import random +import qgis from qgis.core import * from qgis.gui import * diff --git a/tests/src/python/test_qgslogger.py b/tests/src/python/test_qgslogger.py index 1a400b7c5c3..16274d97c43 100644 --- a/tests/src/python/test_qgslogger.py +++ b/tests/src/python/test_qgslogger.py @@ -14,6 +14,7 @@ __revision__ = '$Format:%H$' import tempfile import os +import qgis from qgis.core import QgsLogger from utilities import (TestCase, unittest diff --git a/tests/src/python/test_qgspallabeling.py b/tests/src/python/test_qgspallabeling.py index 85454db2a2d..78315bc2b87 100644 --- a/tests/src/python/test_qgspallabeling.py +++ b/tests/src/python/test_qgspallabeling.py @@ -13,6 +13,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os +import qgis from PyQt4.QtCore import * from PyQt4.QtGui import * diff --git a/tests/src/python/test_qgspoint.py b/tests/src/python/test_qgspoint.py index 32553fb1280..94fafb991e4 100644 --- a/tests/src/python/test_qgspoint.py +++ b/tests/src/python/test_qgspoint.py @@ -13,6 +13,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os +import qgis from qgis.core import QgsPoint diff --git a/tests/src/python/test_qgsrasterfilewriter.py b/tests/src/python/test_qgsrasterfilewriter.py index e524e54fd12..f12bd44a44c 100644 --- a/tests/src/python/test_qgsrasterfilewriter.py +++ b/tests/src/python/test_qgsrasterfilewriter.py @@ -14,6 +14,7 @@ __revision__ = '$Format:%H$' import os import glob +import qgis from PyQt4.QtCore import (QTemporaryFile, QDir) diff --git a/tests/src/python/test_qgsrasterlayer.py b/tests/src/python/test_qgsrasterlayer.py index 801285fbf14..758a2ffbe10 100644 --- a/tests/src/python/test_qgsrasterlayer.py +++ b/tests/src/python/test_qgsrasterlayer.py @@ -14,8 +14,9 @@ __revision__ = '$Format:%H$' import os import unittest +import qgis -from PyQt4.QtCore import QFileInfo, QString, QStringList +from PyQt4.QtCore import QFileInfo from PyQt4 import QtGui from qgis.core import (QgsRaster, @@ -60,7 +61,7 @@ class TestQgsRasterLayer(TestCase): # Get the name of the first band myBand = myRasterValues.keys()[0] - #myExpectedName = QString('Band 1') + #myExpectedName = 'Band 1 myExpectedBand = 1 myMessage = 'Expected "%s" got "%s" for first raster band name' % ( myExpectedBand, myBand) @@ -71,8 +72,7 @@ class TestQgsRasterLayer(TestCase): myValues = myRasterValues.values() myIntValues = [] for myValue in myValues: - #myIntValues.append(int(str(myValue))) - myIntValues.append( myValue.toInt()[0] ) + myIntValues.append( int(myValue) ) myValues = str(myIntValues) myExpectedValues = '[127, 141, 112, 72, 86, 126, 156, 211, 170]' myMessage = 'Expected: %s\nGot: %s' % (myValues, myExpectedValues) @@ -140,7 +140,7 @@ class TestQgsRasterLayer(TestCase): myMapRenderer = QgsMapRenderer() - myLayers = QStringList() + myLayers = [] myLayers.append(myRasterLayer.id()) myMapRenderer.setLayerSet(myLayers) myMapRenderer.setExtent(myRasterLayer.extent()) diff --git a/tests/src/python/test_qgsrectangle.py b/tests/src/python/test_qgsrectangle.py index 6e1466cce23..9d32d369c1e 100644 --- a/tests/src/python/test_qgsrectangle.py +++ b/tests/src/python/test_qgsrectangle.py @@ -12,6 +12,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' +import qgis from qgis.core import (QgsRectangle, QgsPoint) diff --git a/tests/src/python/test_qgsspatialindex.py b/tests/src/python/test_qgsspatialindex.py index ffec4e7e68e..82383ca1540 100644 --- a/tests/src/python/test_qgsspatialindex.py +++ b/tests/src/python/test_qgsspatialindex.py @@ -13,6 +13,7 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import unittest +import qgis from qgis.core import (QgsSpatialIndex, QgsFeature, diff --git a/tests/src/python/test_qgsspatialiteprovider.py b/tests/src/python/test_qgsspatialiteprovider.py index d3f3574a865..1ea2c4570b6 100644 --- a/tests/src/python/test_qgsspatialiteprovider.py +++ b/tests/src/python/test_qgsspatialiteprovider.py @@ -14,6 +14,7 @@ __revision__ = '$Format:%H$' import os import tempfile +import qgis from qgis.core import * diff --git a/tests/src/python/test_qgsvectorfilewriter.py b/tests/src/python/test_qgsvectorfilewriter.py index c6788c04568..90851b2ad28 100644 --- a/tests/src/python/test_qgsvectorfilewriter.py +++ b/tests/src/python/test_qgsvectorfilewriter.py @@ -13,8 +13,9 @@ __copyright__ = 'Copyright 2012, The QGIS Project' __revision__ = '$Format:%H$' import os +import qgis -from PyQt4.QtCore import QVariant, QDir, QString, QStringList +from PyQt4.QtCore import QDir from qgis.core import (QgsVectorLayer, QgsFeature, @@ -51,9 +52,7 @@ class TestQgsVectorLayer(TestCase): ft = QgsFeature() ft.setGeometry(QgsGeometry.fromPoint(QgsPoint(10,10))) - ft.setAttributes([ QVariant('Johny'), - QVariant(20), - QVariant(0.3)]) + ft.setAttributes([ 'Johny', 20, 0.3 ]) myResult, myFeatures = myProvider.addFeatures([ft]) assert myResult == True assert len(myFeatures) > 0 diff --git a/tests/src/python/test_qgszonalstatistics.py b/tests/src/python/test_qgszonalstatistics.py index 60862b75bed..71d883ecee6 100644 --- a/tests/src/python/test_qgszonalstatistics.py +++ b/tests/src/python/test_qgszonalstatistics.py @@ -12,8 +12,9 @@ __copyright__ = 'Copyright 2013, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' -import os +import qgis +import os from PyQt4.QtCore import * from qgis.core import * from qgis.analysis import * @@ -33,6 +34,7 @@ class TestQgsZonalStatistics(TestCase): myTempPath = QDir.tempPath() + sep testDir = QDir(TEST_DATA_DIR) for f in testDir.entryList(QDir.Files): + QFile.remove(myTempPath + f) QFile.copy(TEST_DATA_DIR + f, myTempPath + f) myVector = QgsVectorLayer(myTempPath + "polys.shp", "poly", "ogr") @@ -44,30 +46,30 @@ class TestQgsZonalStatistics(TestCase): # validate statistics for each feature request = QgsFeatureRequest().setFilterFid(0) feat = myVector.getFeatures(request).next() - myMessage = ('Expected: %f\nGot: %f\n' % (12.0, feat[1].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (12.0, feat[1])) assert feat[1] == 12.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (8.0, feat[2].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (8.0, feat[2])) assert feat[2] == 8.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (0.666666666666667, feat[3].toDouble()[0])) - assert feat[3] == 0.666666666666667, myMessage + myMessage = ('Expected: %f\nGot: %f\n' % (0.666666666666667, feat[3])) + assert abs(feat[3] - 0.666666666666667 ) < 0.00001, myMessage request.setFilterFid(1) feat = myVector.getFeatures(request).next() - myMessage = ('Expected: %f\nGot: %f\n' % (9.0, feat[1].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (9.0, feat[1])) assert feat[1] == 9.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (5.0, feat[2].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (5.0, feat[2])) assert feat[2] == 5.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (0.555555555555556, feat[3].toDouble()[0])) - assert feat[3] == 0.555555555555556, myMessage + myMessage = ('Expected: %f\nGot: %f\n' % (0.555555555555556, feat[3])) + assert abs( feat[3] - 0.555555555555556) < 0.00001, myMessage request.setFilterFid(2) feat = myVector.getFeatures(request).next() - myMessage = ('Expected: %f\nGot: %f\n' % (6.0, feat[1].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (6.0, feat[1])) assert feat[1] == 6.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (5.0, feat[2].toDouble()[0])) + myMessage = ('Expected: %f\nGot: %f\n' % (5.0, feat[2])) assert feat[2] == 5.0, myMessage - myMessage = ('Expected: %f\nGot: %f\n' % (0.833333333333333, feat[3].toDouble()[0])) - assert feat[3] == 0.833333333333333, myMessage + myMessage = ('Expected: %f\nGot: %f\n' % (0.833333333333333, feat[3])) + assert abs( feat[3] - 0.833333333333333 ) < 0.00001, myMessage if __name__ == '__main__': unittest.main() diff --git a/tests/src/python/utilities.py b/tests/src/python/utilities.py index b218ea92e15..48219eb3bf6 100644 --- a/tests/src/python/utilities.py +++ b/tests/src/python/utilities.py @@ -13,6 +13,7 @@ __revision__ = '$Format:%H$' import os import sys +import qgis from PyQt4 import QtGui, QtCore from qgis.core import (QgsApplication, QgsCoordinateReferenceSystem, @@ -166,9 +167,9 @@ def writeShape(theMemoryLayer, theFileName): myFileName = os.path.join(str(QtCore.QDir.tempPath()), theFileName) print myFileName # Explicitly giving all options, not really needed but nice for clarity - myErrorMessage = QtCore.QString() - myOptions = QtCore.QStringList() - myLayerOptions = QtCore.QStringList() + myErrorMessage = '' + myOptions = [] + myLayerOptions = [] mySelectedOnlyFlag = False mySkipAttributesFlag = False myGeoCrs = QgsCoordinateReferenceSystem()