@@ -326,10 +326,6 @@ TEST_F(RenderedTargetTest, HullPoints)
326326 target.updateHullPoints (&fbo);
327327 ASSERT_EQ (target.hullPoints (), std::vector<QPointF>({ { 1 , 1 }, { 2 , 1 }, { 3 , 1 }, { 1 , 2 }, { 3 , 2 }, { 1 , 3 }, { 2 , 3 }, { 3 , 3 } }));
328328
329- // Release
330- fbo.release ();
331- context.doneCurrent ();
332-
333329 // Test contains()
334330 ASSERT_FALSE (target.contains ({ 0 , 0 }));
335331 ASSERT_FALSE (target.contains ({ 1 , 0 }));
@@ -351,6 +347,51 @@ TEST_F(RenderedTargetTest, HullPoints)
351347 ASSERT_TRUE (target.contains ({ 2 , 3 }));
352348 ASSERT_TRUE (target.contains ({ 3 , 3 }));
353349 ASSERT_FALSE (target.contains ({ 3.3 , 3.5 }));
350+
351+ // Stage: hull points
352+ Stage stage;
353+ StageModel stageModel;
354+ stageModel.init (&stage);
355+ target.setSpriteModel (nullptr );
356+ target.setStageModel (&stageModel);
357+
358+ target.setWidth (3 );
359+ target.setHeight (3 );
360+ fbo.release ();
361+ QOpenGLFramebufferObject emptyFbo (fbo.size (), format);
362+ emptyFbo.bind ();
363+ target.updateHullPoints (&emptyFbo); // clear the convex hull points list
364+ ASSERT_TRUE (target.hullPoints ().empty ());
365+ emptyFbo.release ();
366+ fbo.bind ();
367+ target.updateHullPoints (&fbo);
368+ ASSERT_EQ (target.hullPoints (), std::vector<QPointF>({ { 1 , 1 }, { 2 , 1 }, { 3 , 1 }, { 1 , 2 }, { 3 , 2 }, { 1 , 3 }, { 2 , 3 }, { 3 , 3 } }));
369+
370+ // Stage: contains()
371+ ASSERT_TRUE (target.contains ({ 0 , 0 }));
372+ ASSERT_TRUE (target.contains ({ 1 , 0 }));
373+ ASSERT_TRUE (target.contains ({ 2 , 0 }));
374+ ASSERT_TRUE (target.contains ({ 3 , 0 }));
375+
376+ ASSERT_TRUE (target.contains ({ 0 , 1 }));
377+ ASSERT_TRUE (target.contains ({ 1 , 1 }));
378+ ASSERT_TRUE (target.contains ({ 1.4 , 1.25 }));
379+ ASSERT_TRUE (target.contains ({ 2 , 1 }));
380+ ASSERT_TRUE (target.contains ({ 3 , 1 }));
381+
382+ ASSERT_TRUE (target.contains ({ 1 , 2 }));
383+ ASSERT_TRUE (target.contains ({ 2 , 2 }));
384+ ASSERT_TRUE (target.contains ({ 3 , 2 }));
385+ ASSERT_TRUE (target.contains ({ 3.5 , 2.1 }));
386+
387+ ASSERT_TRUE (target.contains ({ 1 , 3 }));
388+ ASSERT_TRUE (target.contains ({ 2 , 3 }));
389+ ASSERT_TRUE (target.contains ({ 3 , 3 }));
390+ ASSERT_TRUE (target.contains ({ 3.3 , 3.5 }));
391+
392+ // Release
393+ fbo.release ();
394+ context.doneCurrent ();
354395}
355396
356397TEST_F (RenderedTargetTest, SpriteDragging)
0 commit comments