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 NET_DISK_CACHE_SIMPLE_SIMPLE_TEST_UTIL_H_
6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_TEST_UTIL_H_
10 #include "base/basictypes.h"
11 #include "base/callback.h"
17 namespace disk_cache
{
18 namespace simple_util
{
20 // Immutable array with compile-time bound-checking.
21 template <typename T
, size_t Size
>
22 class ImmutableArray
{
24 static const size_t size
= Size
;
26 ImmutableArray(const base::Callback
<T (size_t index
)>& initializer
) {
27 for (size_t i
= 0; i
< size
; ++i
)
28 data_
[i
] = initializer
.Run(i
);
31 template <size_t Index
>
33 COMPILE_ASSERT(Index
< size
, array_out_of_bounds
);
41 // Creates a corrupt file to be used in tests.
42 bool CreateCorruptFileForTests(const std::string
& key
,
43 const base::FilePath
& cache_path
);
45 } // namespace simple_backend
46 } // namespace disk_cache
48 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_TEST_UTIL_H_