1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef COMPONENTS_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define COMPONENTS_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/files/file_path.h"
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/files/scoped_temp_dir.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/memory/scoped_ptr.h"
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/message_loop/message_loop.h"
12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "courgette/courgette.h"
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "courgette/third_party/bsdiff.h"
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "testing/gtest/include/gtest/gtest.h"
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace component_updater {
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass MockComponentPatcher;
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass ReadOnlyTestInstaller;
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochconst char binary_output_hash[] =
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    "599aba6d15a7da390621ef1bacb66601ed6aed04dadc1f9b445dcfe31296142a";
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass ComponentPatcherOperationTest : public testing::Test {
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch public:
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  explicit ComponentPatcherOperationTest();
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  virtual ~ComponentPatcherOperationTest();
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch protected:
30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  base::ScopedTempDir input_dir_;
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  base::ScopedTempDir installed_dir_;
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  base::ScopedTempDir unpack_dir_;
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  scoped_ptr<ReadOnlyTestInstaller> installer_;
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  scoped_refptr<base::SequencedTaskRunner> task_runner_;
35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch private:
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  base::MessageLoopForIO loop_;
38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch};
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}  // namespace component_updater
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif  // COMPONENTS_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_
43