Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: ppapi/native_client/tests/ppapi_browser/ppb_file_io/common.h

Issue 7740013: Cloning a bunch of stuff from the native_client repository at r6528 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/tests/ppapi_browser/ppb_file_io/common.h
===================================================================
--- ppapi/native_client/tests/ppapi_browser/ppb_file_io/common.h (revision 0)
+++ ppapi/native_client/tests/ppapi_browser/ppb_file_io/common.h (revision 0)
@@ -0,0 +1,61 @@
+// Copyright (c) 2011 The Native Client Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+#ifndef NATIVE_CLIENT_TESTS_PPAPI_BROWSER_PPB_FILE_IO_COMMON_H_
+#define NATIVE_CLIENT_TESTS_PPAPI_BROWSER_PPB_FILE_IO_COMMON_H_
+
+#include <deque>
+
+#include "native_client/src/third_party/ppapi/c/pp_file_info.h"
+#include "native_client/tests/ppapi_browser/ppb_file_io/test_sequence_element.h"
+#include "native_client/tests/ppapi_test_lib/test_interface.h"
+
+namespace common {
+
+extern const char* kTestData;
+
+// Open file for subsequent tests.
+class OpenFileForTest : public TestSequenceElement {
+ public:
+ OpenFileForTest()
+ : TestSequenceElement("OpenFileForTest") {}
+
+ private:
+ virtual BoundPPAPIFunc GetCompletionCallbackInitiatingPPAPIFunction(
+ TestCallbackData* callback_data);
+};
+
+// Initializes the member data of given file info to either known values, (e.g.
+// file system type), or dummy values (e.g. last modified time).
+void InitFileInfo(PP_FileSystemType system_type, PP_FileInfo* file_info);
+
+// TODO(sanga): Move this to file_io_tester.h
+// FileIOTester is the test runner. Used to accrue a sequence of test elements
+// in a specific order and run the sequence.
+class FileIOTester {
+ public:
+ explicit FileIOTester(const PP_FileInfo& file_info)
+ : file_info_(file_info) {}
+ ~FileIOTester() {}
+
+ void AddSequenceElement(TestSequenceElement* element); // sink
+ void Run();
+
+ private:
+ // Callbacks for setting up before executing the test sequence.
+ static void FlushFileForSetupCallback(void* data, int32_t result);
+ static void OpenFileForSetupCallback(void* data, int32_t result);
+ static void OpenFileSystemForSetupCallback(void* data, int32_t result);
+ static void StartTestSequence(TestCallbackData* callback_data);
+ static void TouchFileForSetupCallback(void* data, int32_t result);
+ static void WriteFileForSetupCallback(void* data, int32_t result);
+
+ const PP_FileInfo file_info_;
+ std::deque<TestSequenceElement*> test_sequence_;
+
+ DISALLOW_COPY_AND_ASSIGN(FileIOTester);
+};
+
+} // namespace common
+
+#endif // NATIVE_CLIENT_TESTS_PPAPI_BROWSER_PPB_FILE_IO_COMMON_H_

Powered by Google App Engine
This is Rietveld 408576698