| Index: sync/test/trackable_mock_invalidation.h
|
| diff --git a/sync/test/trackable_mock_invalidation.h b/sync/test/trackable_mock_invalidation.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1ad3697e16fae029b34f4721835108ebc99a3220
|
| --- /dev/null
|
| +++ b/sync/test/trackable_mock_invalidation.h
|
| @@ -0,0 +1,54 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef SYNC_TEST_TRACKABLE_MOCK_INVALIDATION_H_
|
| +#define SYNC_TEST_TRACKABLE_MOCK_INVALIDATION_H_
|
| +
|
| +#include "sync/test/mock_invalidation.h"
|
| +
|
| +namespace syncer {
|
| +
|
| +class MockInvalidationTracker;
|
| +
|
| +// A variant of MockInvalidation that supports acknowledgements.
|
| +//
|
| +// With the help of a MockInvalidationTracker, this can be used to test
|
| +// sync's use of the Drop() and Acknowledge() methods.
|
| +class TrackableMockInvalidation : public MockInvalidation {
|
| + public:
|
| + TrackableMockInvalidation(bool is_unknown_version,
|
| + int64 version,
|
| + const std::string& payload,
|
| + MockInvalidationTracker* tracker,
|
| + int tracking_id);
|
| + virtual ~TrackableMockInvalidation();
|
| +
|
| + // Forwards notice of the acknowledgement of this invalidation to the
|
| + // |tracker_|.
|
| + virtual void Acknowledge() OVERRIDE;
|
| +
|
| + // Forwards notice of the drop of this invalidation to the |tracker_|.
|
| + virtual void Drop() OVERRIDE;
|
| +
|
| + // Returns the integer used to identify this object with the |tracker_|.
|
| + int GetTrackingId();
|
| +
|
| + private:
|
| + // The MockInvalidationTracker that initialized this object, and which keeps
|
| + // track of its acknowledgement status. It is expected to outlive the
|
| + // invalidations. The data required for unit test assertions lives there.
|
| + MockInvalidationTracker* tracker_;
|
| +
|
| + // An identifier that uniquely identifies this invalidation to its
|
| + // |tracker_|.
|
| + //
|
| + // This is necessary in part because invalidations may be short lived; the
|
| + // invalidation may be deleted by the time we want to make assertions about
|
| + // its state.
|
| + int tracking_id_;
|
| +};
|
| +
|
| +} // namespace syncer
|
| +
|
| +#endif // SYNC_TEST_TRACKABLE_MOCK_INVALIDATION_H_
|
|
|