Chromium Code Reviews| Index: sync/test/mock_transaction_observer.h |
| diff --git a/sync/test/mock_transaction_observer.h b/sync/test/mock_transaction_observer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3e943d806eed65cd36a6c6b27df42d3614f2c87d |
| --- /dev/null |
| +++ b/sync/test/mock_transaction_observer.h |
| @@ -0,0 +1,45 @@ |
| +// Copyright (c) 2012 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_MOCK_TRANSACTION_OBSERVER_H_ |
| +#define SYNC_TEST_MOCK_TRANSACTION_OBSERVER_H_ |
| + |
| +#include "base/memory/weak_ptr.h" |
| +#include "sync/internal_api/public/base/model_type.h" |
| +#include "sync/syncable/transaction_observer.h" |
| +#include "sync/syncable/write_transaction_info.h" |
| + |
| +namespace syncer { |
| +namespace syncable { |
| + |
| +// This class acts as a TransactionObserver for the syncable::Directory. |
| +// It gathers information that is useful for writing test assertions. |
| +class MockTransactionObserver : |
|
Nicolas Zea
2012/11/16 19:42:27
Given that this isn't actually a mock, I'd prefer
rlarocque
2012/11/17 00:07:21
That's a much better name. Thanks!
|
| + public base::SupportsWeakPtr<MockTransactionObserver>, |
| + public TransactionObserver { |
| + public: |
| + MockTransactionObserver(); |
| + virtual ~MockTransactionObserver(); |
| + virtual void OnTransactionWrite( |
| + const ImmutableWriteTransactionInfo& write_transaction_info, |
| + ModelTypeSet models_with_changes) OVERRIDE; |
| + |
| + // Returns the number of transactions observed. |
| + // |
| + // Transactions are generated only when meaningful changes are made. For most |
| + // testing purposes, you may assume that this counts the number of syncer |
| + // nudges generated. |
| + int transactions_observed(); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(MockTransactionObserver); |
| + |
| + int transactions_observed_; |
| +}; |
| + |
| +} // namespace syncable |
| +} // namespace syncer |
| + |
| + |
| +#endif // SYNC_TEST_MOCK_TRANSACTION_OBSERVER_H_ |