Skip to content

Commit 8cf9f7b

Browse files
committedMay 26, 2013
Fix blending tests
1 parent 61285a9 commit 8cf9f7b

File tree

5 files changed

+23
-9
lines changed

5 files changed

+23
-9
lines changed
 

‎tests/src/core/testqgsblendmodes.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,19 @@ void TestQgsBlendModes::vectorBlending()
121121
{
122122
//Add two vector layers
123123
QStringList myLayers;
124-
myLayers << mpPointsLayer->id();
124+
myLayers << mpLinesLayer->id();
125125
myLayers << mpPolysLayer->id();
126126
mpMapRenderer->setLayerSet( myLayers );
127127

128128
//Set blending modes for both layers
129-
mpPointsLayer->setBlendMode( QPainter::CompositionMode_Overlay );
130-
mpPolysLayer->setBlendMode( QPainter::CompositionMode_Multiply );
129+
mpLinesLayer->setBlendMode( QPainter::CompositionMode_Difference );
130+
mpPolysLayer->setBlendMode( QPainter::CompositionMode_Difference );
131131
mpMapRenderer->setExtent( mpPointsLayer->extent() );
132132
QVERIFY( imageCheck( "vector_blendmodes" ) );
133+
134+
//Reset layers
135+
mpLinesLayer->setBlendMode( QPainter::CompositionMode_SourceOver );
136+
mpPolysLayer->setBlendMode( QPainter::CompositionMode_SourceOver );
133137
}
134138

135139
void TestQgsBlendModes::featureBlending()
@@ -144,6 +148,9 @@ void TestQgsBlendModes::featureBlending()
144148
mpLinesLayer->setFeatureBlendMode( QPainter::CompositionMode_Plus );
145149
mpMapRenderer->setExtent( mpPointsLayer->extent() );
146150
QVERIFY( imageCheck( "vector_featureblendmodes" ) );
151+
152+
//Reset layers
153+
mpLinesLayer->setFeatureBlendMode( QPainter::CompositionMode_SourceOver );
147154
}
148155

149156
void TestQgsBlendModes::vectorLayerTransparency()
@@ -153,12 +160,14 @@ void TestQgsBlendModes::vectorLayerTransparency()
153160
myLayers << mpLinesLayer->id();
154161
myLayers << mpPolysLayer->id();
155162
mpMapRenderer->setLayerSet( myLayers );
156-
mpLinesLayer->setFeatureBlendMode( QPainter::CompositionMode_SourceOver );
157163

158164
//Set feature blending modes for point layer
159165
mpLinesLayer->setLayerTransparency( 50 );
160166
mpMapRenderer->setExtent( mpPointsLayer->extent() );
161167
QVERIFY( imageCheck( "vector_layertransparency" ) );
168+
169+
//Reset layers
170+
mpLinesLayer->setLayerTransparency( 0 );
162171
}
163172

164173
void TestQgsBlendModes::rasterBlending()

‎tests/src/python/test_qgsblendmodes.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,14 @@ def testVectorBlending(self):
9696

9797
#Add vector layers to map
9898
myLayers = QStringList()
99-
myLayers.append(self.mPointLayer.id())
99+
myLayers.append(self.mLineLayer.id())
100100
myLayers.append(self.mPolygonLayer.id())
101101
self.mMapRenderer.setLayerSet(myLayers)
102102
self.mMapRenderer.setExtent(self.mPointLayer.extent())
103103

104104
#Set blending modes for both layers
105-
self.mPointLayer.setBlendMode(QPainter.CompositionMode_Overlay)
106-
self.mPolygonLayer.setBlendMode(QPainter.CompositionMode_Multiply)
105+
self.mLineLayer.setBlendMode(QPainter.CompositionMode_Difference)
106+
self.mPolygonLayer.setBlendMode(QPainter.CompositionMode_Difference)
107107

108108
checker = QgsRenderChecker()
109109
checker.setControlName("expected_vector_blendmodes")
@@ -113,6 +113,10 @@ def testVectorBlending(self):
113113
myMessage = ('vector blending failed')
114114
assert myResult, myMessage
115115

116+
#Reset layers
117+
self.mLineLayer.setBlendMode(QPainter.CompositionMode_SourceOver)
118+
self.mPolygonLayer.setBlendMode(QPainter.CompositionMode_SourceOver)
119+
116120
def testVectorFeatureBlending(self):
117121
"""Test that feature blend modes work for vector layers."""
118122

@@ -122,7 +126,6 @@ def testVectorFeatureBlending(self):
122126
myLayers.append(self.mPolygonLayer.id())
123127
self.mMapRenderer.setLayerSet(myLayers)
124128
self.mMapRenderer.setExtent(self.mPointLayer.extent())
125-
self.mPolygonLayer.setBlendMode(QPainter.CompositionMode_Multiply)
126129

127130
#Set feature blending for line layer
128131
self.mLineLayer.setFeatureBlendMode(QPainter.CompositionMode_Plus)
@@ -135,6 +138,9 @@ def testVectorFeatureBlending(self):
135138
myMessage = ('vector feature blending failed')
136139
assert myResult, myMessage
137140

141+
#Reset layers
142+
self.mLineLayer.setFeatureBlendMode(QPainter.CompositionMode_SourceOver)
143+
138144
def testVectorLayerTransparency(self):
139145
"""Test that layer transparency works for vector layers."""
140146

@@ -144,7 +150,6 @@ def testVectorLayerTransparency(self):
144150
myLayers.append(self.mPolygonLayer.id())
145151
self.mMapRenderer.setLayerSet(myLayers)
146152
self.mMapRenderer.setExtent(self.mPointLayer.extent())
147-
self.mPolygonLayer.setBlendMode(QPainter.CompositionMode_Multiply)
148153

149154
#Set feature blending for line layer
150155
self.mLineLayer.setLayerTransparency( 50 )

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

0 commit comments

Comments
 (0)
Please sign in to comment.