#include "chrome/common/extensions/api/file_system_provider_internal.h"
#include "extensions/browser/event_router.h"
#include "net/base/io_buffer.h"
+#include "storage/browser/fileapi/async_file_util.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "webkit/browser/fileapi/async_file_util.h"
namespace chromeos {
namespace file_system_provider {
};
TEST_F(FileSystemProviderOperationsReadFileTest, Execute) {
+ using extensions::api::file_system_provider::ReadFileRequestedOptions;
+
util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
CallbackLogger callback_logger;
base::ListValue* event_args = event->event_args.get();
ASSERT_EQ(1u, event_args->GetSize());
- base::DictionaryValue* options = NULL;
- ASSERT_TRUE(event_args->GetDictionary(0, &options));
-
- std::string event_file_system_id;
- EXPECT_TRUE(options->GetString("fileSystemId", &event_file_system_id));
- EXPECT_EQ(kFileSystemId, event_file_system_id);
-
- int event_request_id = -1;
- EXPECT_TRUE(options->GetInteger("requestId", &event_request_id));
- EXPECT_EQ(kRequestId, event_request_id);
-
- int event_file_handle = -1;
- EXPECT_TRUE(options->GetInteger("openRequestId", &event_file_handle));
- EXPECT_EQ(kFileHandle, event_file_handle);
-
- double event_offset = -1;
- EXPECT_TRUE(options->GetDouble("offset", &event_offset));
- EXPECT_EQ(kOffset, static_cast<double>(event_offset));
+ const base::DictionaryValue* options_as_value = NULL;
+ ASSERT_TRUE(event_args->GetDictionary(0, &options_as_value));
- int event_length = -1;
- EXPECT_TRUE(options->GetInteger("length", &event_length));
- EXPECT_EQ(kLength, event_length);
+ ReadFileRequestedOptions options;
+ ASSERT_TRUE(ReadFileRequestedOptions::Populate(*options_as_value, &options));
+ EXPECT_EQ(kFileSystemId, options.file_system_id);
+ EXPECT_EQ(kRequestId, options.request_id);
+ EXPECT_EQ(kFileHandle, options.open_request_id);
+ EXPECT_EQ(kOffset, static_cast<double>(options.offset));
+ EXPECT_EQ(kLength, options.length);
}
TEST_F(FileSystemProviderOperationsReadFileTest, Execute_NoListener) {