Make certificate viewer a tab-modal dialog.
[chromium-blink-merge.git] / ppapi / tests / test_file_io.h
blob36917b5e5f0c78d2374e5563d8d3695aa047a875
1 // Copyright (c) 2011 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 PAPPI_TESTS_TEST_FILE_IO_H_
6 #define PAPPI_TESTS_TEST_FILE_IO_H_
8 #include <string>
10 #include "ppapi/tests/test_case.h"
12 namespace pp {
13 class FileIO;
14 class FileSystem;
15 } // namespace pp
17 class TestFileIO : public TestCase {
18 public:
19 explicit TestFileIO(TestingInstance* instance) : TestCase(instance) {}
21 // TestCase implementation.
22 virtual bool Init();
23 virtual void RunTests(const std::string& filter);
25 private:
26 enum OpenExpectation {
27 CREATE_IF_DOESNT_EXIST = 1 << 0,
28 DONT_CREATE_IF_DOESNT_EXIST = 1 << 1,
29 OPEN_IF_EXISTS = 1 << 2,
30 DONT_OPEN_IF_EXISTS = 1 << 3,
31 TRUNCATE_IF_EXISTS = 1 << 4,
32 DONT_TRUNCATE_IF_EXISTS = 1 << 5,
33 // All values above are defined in pairs: <some_expectation> and
34 // DONT_<some_expectation>.
35 END_OF_OPEN_EXPECATION_PAIRS = DONT_TRUNCATE_IF_EXISTS,
37 INVALID_FLAG_COMBINATION = 1 << 6,
40 std::string TestOpen();
41 std::string TestOpenDirectory();
42 std::string TestReadWriteSetLength();
43 std::string TestReadToArrayWriteSetLength();
44 std::string TestTouchQuery();
45 std::string TestAbortCalls();
46 std::string TestParallelReads();
47 std::string TestParallelWrites();
48 std::string TestNotAllowMixedReadWrite();
49 std::string TestWillWriteWillSetLength();
50 std::string TestRequestOSFileHandle();
52 // Helper method used by TestOpen().
53 // |expectations| is a combination of OpenExpectation values. The followings
54 // are considered as valid input:
55 // 1) INVALID_FLAG_COMBINATION
56 // 2) (DONT_)?CREATE_IF_DOESNT_EXIST | (DONT_)?OPEN_IF_EXISTS |
57 // (DONT_)?TRUNCATE_IF_EXISTS
58 std::string MatchOpenExpectations(pp::FileSystem* file_system,
59 size_t open_flags,
60 size_t expectations);
63 #endif // PAPPI_TESTS_TEST_FILE_IO_H_