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.
4
5#include "chrome/browser/extensions/extension_apitest.h"
6#include "chrome/browser/profiles/profile.h"
7#include "chrome/browser/ui/browser.h"
8#include "webkit/fileapi/file_system_context.h"
9#include "webkit/fileapi/file_system_mount_point_provider.h"
10#include "webkit/fileapi/file_system_path_manager.h"
11
12#if defined(OS_CHROMEOS)
13
14class FileSystemExtensionApiTest : public ExtensionApiTest {
15 public:
16  FileSystemExtensionApiTest() : test_mount_point_("/tmp") {
17  }
18
19  virtual ~FileSystemExtensionApiTest() {}
20
21  // Sets up test environment
22  void AddTmpMountPoint() {
23    // Add tmp mount point.
24    fileapi::FileSystemPathManager* path_manager =
25        browser()->profile()->GetFileSystemContext()->path_manager();
26    fileapi::ExternalFileSystemMountPointProvider* provider =
27        path_manager->external_provider();
28    provider->AddMountPoint(test_mount_point_);
29  }
30
31 private:
32  FilePath test_mount_point_;
33};
34
35IN_PROC_BROWSER_TEST_F(FileSystemExtensionApiTest, LocalFileSystem) {
36  AddTmpMountPoint();
37  ASSERT_TRUE(RunComponentExtensionTest("local_filesystem")) << message_;
38
39}
40
41IN_PROC_BROWSER_TEST_F(FileSystemExtensionApiTest, FileBrowserTest) {
42  AddTmpMountPoint();
43  ASSERT_TRUE(RunExtensionTest("filesystem_handler")) << message_;
44  ASSERT_TRUE(RunComponentExtensionTest("filebrowser_component")) << message_;
45}
46
47#endif
48