~ubuntu-branches/ubuntu/trusty/compiz/trusty

« back to all changes in this revision

Viewing changes to compizconfig/libcompizconfig/tests/compizconfig_test_ccs_object.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release
  • Date: 2013-08-22 06:58:07 UTC
  • mto: This revision was merged to the branch mainline in revision 3352.
  • Revision ID: package-import@ubuntu.com-20130822065807-17nlzez0d30y09so
Tags: upstream-0.9.10+13.10.20130822
ImportĀ upstreamĀ versionĀ 0.9.10+13.10.20130822

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
using ::testing::StrictMock;
14
14
using ::testing::Invoke;
15
15
 
 
16
class GoogleMockDummy;
 
17
 
16
18
class CCSObjectTest :
17
19
    public ::testing::Test
18
20
{
23
25
    CCSObject object;
24
26
};
25
27
 
26
 
typedef void (*dummyFunc) (void);
 
28
typedef void (*dummyFunc) (GoogleMockDummy *);
27
29
 
28
30
struct DummyInterface
29
31
{
54
56
        MOCK_METHOD1 (freeTestingObjectWrapper, void (TestingObjectWrapper *));
55
57
    public:
56
58
 
57
 
        static void thunkDummyFunc () { return _mockDummy.dummyFunc (); }
58
 
        static GoogleMockDummy _mockDummy;
 
59
        static void thunkDummyFunc (GoogleMockDummy *mock);
59
60
};
60
61
 
61
 
GoogleMockDummy GoogleMockDummy::_mockDummy;
 
62
void
 
63
GoogleMockDummy::thunkDummyFunc (GoogleMockDummy *mock)
 
64
{
 
65
    mock->dummyFunc ();
 
66
}
62
67
 
63
68
const struct DummyInterface SomeDummyInterface =
64
69
{
163
168
    EXPECT_EQ (*((CCSObject *) to)->interface_types, 1);
164
169
 
165
170
    const DummyInterface *myDummyInterface = (const DummyInterface *) ccsObjectGetInterface (to, 1);
166
 
 
167
 
    EXPECT_CALL (GoogleMockDummy::_mockDummy, dummyFunc ());
168
 
 
169
 
    (*myDummyInterface->dummy) ();
 
171
    GoogleMockDummy mockDummy;
 
172
 
 
173
    EXPECT_CALL (mockDummy, dummyFunc ());
 
174
 
 
175
    (*myDummyInterface->dummy) (&mockDummy);
170
176
 
171
177
    ccsObjectRemoveInterface (to, 1);
172
178
 
196
202
 
197
203
void ccsFreeTestingObjectWrapper (TestingObjectWrapper *wrapper)
198
204
{
199
 
    GoogleMockDummy::_mockDummy.freeTestingObjectWrapper (wrapper);
 
205
    GoogleMockDummy *dummy =
 
206
        reinterpret_cast <GoogleMockDummy *> (reinterpret_cast <CCSObject *> (ccsObjectGetPrivate (wrapper)));
 
207
    dummy->freeTestingObjectWrapper (wrapper);
200
208
}
201
209
 
202
210
#define CCSREF_OBJ(type,dtype) \
217
225
{
218
226
    TestingObjectWrapper *to = (TestingObjectWrapper *) calloc (1, sizeof (TestingObjectWrapper));
219
227
 
 
228
    GoogleMockDummy dummy;
 
229
 
220
230
    ccsObjectInit (to, &ccsDefaultObjectAllocator);
 
231
    ccsObjectSetPrivate (to, reinterpret_cast <CCSPrivate *> (&dummy));
221
232
    ccsTestingObjectWrapperRef (to);
222
233
 
223
 
    EXPECT_CALL (GoogleMockDummy::_mockDummy, freeTestingObjectWrapper (to));
 
234
    EXPECT_CALL (dummy, freeTestingObjectWrapper (to));
224
235
 
225
236
    ccsTestingObjectWrapperUnref (to);
226
237