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. 4 5 #ifndef CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_ 6 #define CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_ 7 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 "courgette/courgette.h" 13 #include "courgette/third_party/bsdiff.h" 14 #include "testing/gtest/include/gtest/gtest.h" 15 16 class MockComponentPatcher; 17 class ReadOnlyTestInstaller; 18 19 const char binary_output_hash[] = 20 "599aba6d15a7da390621ef1bacb66601ed6aed04dadc1f9b445dcfe31296142a"; 21 22 // These constants are duplicated from chrome/installer/util/util_constants.h, 23 // to avoid introducing a dependency from the unit tests to the installer. 24 const int kCourgetteErrorOffset = 300; 25 const int kBsdiffErrorOffset = 600; 26 27 base::FilePath test_file(const char* file); 28 29 class ComponentPatcherOperationTest : public testing::Test { 30 public: 31 explicit ComponentPatcherOperationTest(); 32 virtual ~ComponentPatcherOperationTest(); 33 34 protected: 35 base::ScopedTempDir input_dir_; 36 base::ScopedTempDir installed_dir_; 37 base::ScopedTempDir unpack_dir_; 38 scoped_ptr<MockComponentPatcher> patcher_; 39 scoped_ptr<ReadOnlyTestInstaller> installer_; 40 }; 41 42 #endif // CHROME_BROWSER_COMPONENT_UPDATER_TEST_COMPONENT_PATCHER_UNITTEST_H_ 43