// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/zucchini/element_detection.h" #include <map> #include <vector> #include "base/functional/bind.h" #include "components/zucchini/buffer_view.h" #include "testing/gtest/include/gtest/gtest.h" namespace zucchini { namespace { // This test uses a mock archive format where regions are determined by their // consecutive byte values rather than parsing real executables. // // 0 - Padding or raw data (not mapped to an executable). // 1 - A Win32x86 executable. // 2 - A Win32x64 executable. // // So an example archive file of; // 0 1 1 1 0 1 1 0 0 2 2 2 2 // contains (in order left to right): // - One padding byte // - Three byte Win32x86 executable // - One padding byte // - Two byte Win32x86 executable // - Two padding bytes // - Four byte Win32x64 executable class ElementDetectionTest : public ::testing::Test { … }; TEST_F(ElementDetectionTest, ElementFinderEmpty) { … } TEST_F(ElementDetectionTest, ElementFinder) { … } } // namespace } // namespace zucchini