Skip to content

Commit 6342b74

Browse files
committed
Tests for grid blending, grid color labels, vector feature blending and vector layer transparency
1 parent 6249818 commit 6342b74

File tree

5 files changed

+47
-0
lines changed

5 files changed

+47
-0
lines changed

tests/src/core/testqgsblendmodes.cpp

+40
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,15 @@ class TestQgsBlendModes: public QObject
4545
void cleanup() {};// will be called after every testfunction.
4646

4747
void vectorBlending();
48+
void featureBlending();
49+
void vectorLayerTransparency();
4850
void rasterBlending();
4951
private:
5052
bool imageCheck( QString theType ); //as above
5153
QgsMapRenderer * mpMapRenderer;
5254
QgsMapLayer * mpPointsLayer;
5355
QgsMapLayer * mpPolysLayer;
56+
QgsVectorLayer * mpLinesLayer;
5457
QgsRasterLayer* mRasterLayer1;
5558
QgsRasterLayer* mRasterLayer2;
5659
QString mTestDataDir;
@@ -85,6 +88,14 @@ void TestQgsBlendModes::initTestCase()
8588
QgsMapLayerRegistry::instance()->addMapLayers(
8689
QList<QgsMapLayer *>() << mpPolysLayer );
8790

91+
//create a line layer that will be used in tests
92+
QString myLinesFileName = mTestDataDir + "lines.shp";
93+
QFileInfo myLineFileInfo( myLinesFileName );
94+
mpLinesLayer = new QgsVectorLayer( myLineFileInfo.filePath(),
95+
myLineFileInfo.completeBaseName(), "ogr" );
96+
QgsMapLayerRegistry::instance()->addMapLayers(
97+
QList<QgsMapLayer *>() << mpLinesLayer );
98+
8899
//create two raster layers
89100
QFileInfo rasterFileInfo( mTestDataDir + "landsat.tif" );
90101
mRasterLayer1 = new QgsRasterLayer( rasterFileInfo.filePath(),
@@ -121,6 +132,35 @@ void TestQgsBlendModes::vectorBlending()
121132
QVERIFY( imageCheck( "vector_blendmodes" ) );
122133
}
123134

135+
void TestQgsBlendModes::featureBlending()
136+
{
137+
//Add two vector layers
138+
QStringList myLayers;
139+
myLayers << mpLinesLayer->id();
140+
myLayers << mpPolysLayer->id();
141+
mpMapRenderer->setLayerSet( myLayers );
142+
143+
//Set feature blending modes for point layer
144+
mpLinesLayer->setFeatureBlendMode( QPainter::CompositionMode_Plus );
145+
mpMapRenderer->setExtent( mpPointsLayer->extent() );
146+
QVERIFY( imageCheck( "vector_featureblendmodes" ) );
147+
}
148+
149+
void TestQgsBlendModes::vectorLayerTransparency()
150+
{
151+
//Add two vector layers
152+
QStringList myLayers;
153+
myLayers << mpLinesLayer->id();
154+
myLayers << mpPolysLayer->id();
155+
mpMapRenderer->setLayerSet( myLayers );
156+
mpLinesLayer->setFeatureBlendMode( QPainter::CompositionMode_SourceOver );
157+
158+
//Set feature blending modes for point layer
159+
mpLinesLayer->setLayerTransparency( 50 );
160+
mpMapRenderer->setExtent( mpPointsLayer->extent() );
161+
QVERIFY( imageCheck( "vector_layertransparency" ) );
162+
}
163+
124164
void TestQgsBlendModes::rasterBlending()
125165
{
126166
//Add two raster layers to map renderer

tests/src/core/testqgscomposermap.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,16 @@ void TestQgsComposerMap::grid()
107107
mComposerMap->setGridIntervalY( 2000 );
108108
mComposerMap->setShowGridAnnotation( true );
109109
mComposerMap->setGridPenWidth( 0.5 );
110+
mComposerMap->setGridPenColor( QColor( 0, 255, 0 ) );
110111
mComposerMap->setGridAnnotationPrecision( 0 );
111112
mComposerMap->setGridAnnotationPosition( QgsComposerMap::Disabled, QgsComposerMap::Left );
112113
mComposerMap->setGridAnnotationPosition( QgsComposerMap::OutsideMapFrame, QgsComposerMap::Right );
113114
mComposerMap->setGridAnnotationPosition( QgsComposerMap::Disabled, QgsComposerMap::Top );
114115
mComposerMap->setGridAnnotationPosition( QgsComposerMap::OutsideMapFrame, QgsComposerMap::Bottom );
115116
mComposerMap->setGridAnnotationDirection( QgsComposerMap::Horizontal, QgsComposerMap::Right );
116117
mComposerMap->setGridAnnotationDirection( QgsComposerMap::Horizontal, QgsComposerMap::Bottom );
118+
mComposerMap->setAnnotationFontColor( QColor( 255, 0, 0, 150 ) );
119+
mComposerMap->setGridBlendMode( QPainter::CompositionMode_Overlay );
117120
QgsCompositionChecker checker( "Composer map grid", mComposition, QString( QString( TEST_DATA_DIR ) + QDir::separator() +
118121
"control_images" + QDir::separator() + "expected_composermap" + QDir::separator() + "composermap_landsat_grid.png" ) );
119122
bool testResult = checker.testComposition();
@@ -200,6 +203,10 @@ void TestQgsComposerMap::uniqueId()
200203

201204
void TestQgsComposerMap::zebraStyle()
202205
{
206+
mComposerMap->setGridPenColor( QColor( 0, 0, 0 ) );
207+
mComposerMap->setAnnotationFontColor( QColor( 0, 0, 0, 0 ) );
208+
mComposerMap->setGridBlendMode( QPainter::CompositionMode_SourceOver );
209+
203210
mComposerMap->setGridFrameStyle( QgsComposerMap::Zebra );
204211
mComposerMap->setGridEnabled( true );
205212

Loading

0 commit comments

Comments
 (0)