1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_
6 #define CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_
8 #include "base/files/file_path.h"
9 #include "base/files/scoped_temp_dir.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "chrome/common/chrome_paths.h"
12 #include "content/public/test/test_browser_thread_bundle.h"
13 #include "courgette/courgette.h"
14 #include "courgette/third_party/bsdiff.h"
15 #include "testing/gtest/include/gtest/gtest.h"
17 namespace component_updater
{
19 class MockComponentPatcher
;
20 class ReadOnlyTestInstaller
;
22 const char binary_output_hash
[] =
23 "599aba6d15a7da390621ef1bacb66601ed6aed04dadc1f9b445dcfe31296142a";
25 // These constants are duplicated from chrome/installer/util/util_constants.h,
26 // to avoid introducing a dependency from the unit tests to the installer.
27 const int kCourgetteErrorOffset
= 300;
28 const int kBsdiffErrorOffset
= 600;
30 class ComponentPatcherOperationTest
: public testing::Test
{
32 explicit ComponentPatcherOperationTest();
33 virtual ~ComponentPatcherOperationTest();
36 base::ScopedTempDir input_dir_
;
37 base::ScopedTempDir installed_dir_
;
38 base::ScopedTempDir unpack_dir_
;
39 scoped_ptr
<ReadOnlyTestInstaller
> installer_
;
40 scoped_refptr
<base::SequencedTaskRunner
> task_runner_
;
43 content::TestBrowserThreadBundle thread_bundle_
;
46 } // namespace component_updater
48 #endif // CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_