1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <vector> 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/ui/browser.h" 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/ui/tabs/tab_strip_model.h" 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/test/base/in_process_browser_test.h" 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/test/base/ui_test_utils.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "content/public/browser/web_contents.h" 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "content/public/test/browser_test_utils.h" 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class FileManagerJsTest : public InProcessBrowserTest { 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public: 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) // Runs all test functions in |file|, waiting for them to complete. 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) void RunTest(const base::FilePath& file) { 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) GURL url = ui_test_utils::GetTestUrl( 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::FilePath(FILE_PATH_LITERAL("file_manager/unit_tests")), file); 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ui_test_utils::NavigateToURL(browser(), url); 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) content::WebContents* web_contents = 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) browser()->tab_strip_model()->GetActiveWebContents(); 24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(web_contents); 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::vector<int> empty_libraries; 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) EXPECT_TRUE(ExecuteWebUIResourceTest(web_contents, empty_libraries)); 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}; 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IN_PROC_BROWSER_TEST_F( 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) FileManagerJsTest, NavigationListModelTest) { 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) RunTest(base::FilePath( 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) FILE_PATH_LITERAL("navigation_list_model_unittest.html"))); 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)IN_PROC_BROWSER_TEST_F( 38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) FileManagerJsTest, FileOperationHandlerTest) { 39a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) RunTest(base::FilePath( 40a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) FILE_PATH_LITERAL("file_operation_handler_unittest.html"))); 41a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)} 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IN_PROC_BROWSER_TEST_F( 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FileManagerJsTest, ProgressCenterItemGroupTest) { 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) RunTest(base::FilePath( 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FILE_PATH_LITERAL("progress_center_item_group_unittest.html"))); 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IN_PROC_BROWSER_TEST_F( 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FileManagerJsTest, DeviceHandlerTest) { 516d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) RunTest(base::FilePath(FILE_PATH_LITERAL("device_handler_unittest.html"))); 526d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 536d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 546d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)IN_PROC_BROWSER_TEST_F( 556d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) FileManagerJsTest, MetadataCacheTest) { 566d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) RunTest(base::FilePath(FILE_PATH_LITERAL("metadata_cache_unittest.html"))); 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileOperationManagerTest) { 605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) RunTest(base::FilePath( 615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) FILE_PATH_LITERAL("file_operation_manager_unittest.html"))); 625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 63