~unity-team/qtmir/revert-occlusion-detection2

« back to all changes in this revision

Viewing changes to tests/modules/SurfaceManager/mirsurfaceitem_test.cpp

  • Committer: CI Train Bot
  • Author(s): Nick Dedekind
  • Date: 2015-11-02 11:22:11 UTC
  • mfrom: (375.2.18 qtmir)
  • Revision ID: ci-train-bot@canonical.com-20151102112211-vo9a70y8fmujj59y
Support server->client visibility change to stop rendering (lp:#1475678) Fixes: #1475678
Approved by: Daniel d'Andrada

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 
30
30
using namespace qtmir;
31
31
 
 
32
class MirSurfaceItemTest : public ::testing::Test
 
33
{
 
34
public:
 
35
    MirSurfaceItemTest()
 
36
    {
 
37
        // We don't want the logging spam cluttering the test results
 
38
        QLoggingCategory::setFilterRules(QStringLiteral("qtmir.surfaces=false"));        
 
39
    }
 
40
};
 
41
 
32
42
/*
33
43
  Tests that even if Qt fails to finish a touch sequence, MirSurfaceItem will
34
44
  properly finish it when forwarding it to its mir::input::surface. So
35
45
  mir::input::surface will still consume a proper sequence of touch events
36
46
  (comprised of a begin, zero or more updates and an end).
37
47
 */
38
 
TEST(MirSurfaceItemTest, MissingTouchEnd)
 
48
TEST_F(MirSurfaceItemTest, MissingTouchEnd)
39
49
{
40
 
    // We don't want the logging spam cluttering the test results
41
 
    QLoggingCategory::setFilterRules(QStringLiteral("qtmir*=false"));
42
 
 
43
50
    MirSurfaceItem *surfaceItem = new MirSurfaceItem;
44
51
 
45
52
    FakeMirSurface *fakeSurface = new FakeMirSurface;
46
53
 
47
 
 
48
54
    surfaceItem->setSurface(fakeSurface);
49
55
    surfaceItem->setConsumesInput(true);
50
56
 
93
99
    delete surfaceItem;
94
100
    delete fakeSurface;
95
101
}
 
102
 
 
103
TEST_F(MirSurfaceItemTest, SetSurfaceInitializesVisiblity)
 
104
{
 
105
    MirSurfaceItem *surfaceItem = new MirSurfaceItem;
 
106
    surfaceItem->setVisible(false);
 
107
    
 
108
    FakeMirSurface *fakeSurface = new FakeMirSurface;
 
109
    surfaceItem->setSurface(fakeSurface);
 
110
 
 
111
    EXPECT_FALSE(fakeSurface->visible());
 
112
 
 
113
    delete surfaceItem;
 
114
    delete fakeSurface;
 
115
}
 
116
 
 
117
TEST_F(MirSurfaceItemTest, AggregateSurfaceVisibility)
 
118
{
 
119
    MirSurfaceItem *surfaceItem1 = new MirSurfaceItem;
 
120
    surfaceItem1->setVisible(true);
 
121
    MirSurfaceItem *surfaceItem2 = new MirSurfaceItem;
 
122
    surfaceItem1->setVisible(true);
 
123
    
 
124
    FakeMirSurface *fakeSurface = new FakeMirSurface;
 
125
    surfaceItem1->setSurface(fakeSurface);
 
126
    surfaceItem2->setSurface(fakeSurface);
 
127
 
 
128
    EXPECT_TRUE(fakeSurface->visible());
 
129
 
 
130
    surfaceItem1->setVisible(false);
 
131
    EXPECT_TRUE(fakeSurface->visible());
 
132
 
 
133
    surfaceItem2->setVisible(false);
 
134
    EXPECT_FALSE(fakeSurface->visible());
 
135
 
 
136
    surfaceItem1->setVisible(true);
 
137
    EXPECT_TRUE(fakeSurface->visible());
 
138
 
 
139
    delete surfaceItem1;
 
140
    EXPECT_FALSE(fakeSurface->visible());
 
141
 
 
142
    delete surfaceItem2;
 
143
    delete fakeSurface;
 
144
}