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 16class MockComponentPatcher; 17class ReadOnlyTestInstaller; 18 19const 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. 24const int kCourgetteErrorOffset = 300; 25const int kBsdiffErrorOffset = 600; 26 27base::FilePath test_file(const char* file); 28 29class 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