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()