Move Webstore URL concepts to //extensions and out
[chromium-blink-merge.git] / chrome / test / data / webui / webui_resource_browsertest.cc
blob49d7ed926ed0ebe18f2c5de193aaec7d1de53706
1 // Copyright 2013 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 #include <vector>
7 #include "chrome/browser/ui/browser.h"
8 #include "chrome/browser/ui/tabs/tab_strip_model.h"
9 #include "chrome/test/base/in_process_browser_test.h"
10 #include "chrome/test/base/ui_test_utils.h"
11 #include "content/public/browser/notification_registrar.h"
12 #include "content/public/browser/web_contents.h"
13 #include "content/public/test/browser_test_utils.h"
14 #include "ui/resources/grit/webui_resources.h"
16 class WebUIResourceBrowserTest : public InProcessBrowserTest {
17 public:
18 // Runs all test functions in |file|, waiting for them to complete.
19 void RunTest(const base::FilePath& file) {
20 GURL url = ui_test_utils::GetTestUrl(
21 base::FilePath(FILE_PATH_LITERAL("webui")), file);
22 ui_test_utils::NavigateToURL(browser(), url);
24 content::WebContents* web_contents =
25 browser()->tab_strip_model()->GetActiveWebContents();
26 ASSERT_TRUE(web_contents);
27 EXPECT_TRUE(ExecuteWebUIResourceTest(web_contents, include_libraries_));
30 // Queues the library corresponding to |resource_id| for injection into the
31 // test. The code injection is performed post-load, so any common test
32 // initialization that depends on the library should be placed in a setUp
33 // function.
34 void AddLibrary(int resource_id) {
35 include_libraries_.push_back(resource_id);
38 private:
39 // Resource IDs for internal javascript libraries to inject into the test.
40 std::vector<int> include_libraries_;
43 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, ArrayDataModelTest) {
44 AddLibrary(IDR_WEBUI_JS_CR);
45 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
46 AddLibrary(IDR_WEBUI_JS_CR_UI_ARRAY_DATA_MODEL);
47 RunTest(base::FilePath(FILE_PATH_LITERAL("array_data_model_test.html")));
50 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, PropertyTest) {
51 AddLibrary(IDR_WEBUI_JS_CR);
52 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
53 RunTest(base::FilePath(FILE_PATH_LITERAL("cr_test.html")));
56 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, EventTargetTest) {
57 AddLibrary(IDR_WEBUI_JS_CR);
58 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
59 RunTest(base::FilePath(FILE_PATH_LITERAL("event_target_test.html")));
62 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, ListTest) {
63 AddLibrary(IDR_WEBUI_JS_CR);
64 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
65 AddLibrary(IDR_WEBUI_JS_CR_UI);
66 AddLibrary(IDR_WEBUI_JS_CR_UI_ARRAY_DATA_MODEL);
67 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_ITEM);
68 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SELECTION_CONTROLLER);
69 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SELECTION_MODEL);
70 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST);
71 RunTest(base::FilePath(FILE_PATH_LITERAL("list_test.html")));
74 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, GridTest) {
75 AddLibrary(IDR_WEBUI_JS_CR);
76 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
77 AddLibrary(IDR_WEBUI_JS_CR_UI);
78 AddLibrary(IDR_WEBUI_JS_CR_UI_ARRAY_DATA_MODEL);
79 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST);
80 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_ITEM);
81 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SELECTION_CONTROLLER);
82 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SELECTION_MODEL);
83 // Grid must be the last addition as it depends on list libraries.
84 AddLibrary(IDR_WEBUI_JS_CR_UI_GRID);
85 RunTest(base::FilePath(FILE_PATH_LITERAL("grid_test.html")));
88 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, LinkControllerTest) {
89 AddLibrary(IDR_WEBUI_JS_CR);
90 AddLibrary(IDR_WEBUI_JS_CR_LINK_CONTROLLER);
91 RunTest(base::FilePath(FILE_PATH_LITERAL("link_controller_test.html")));
94 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, ListSelectionModelTest) {
95 AddLibrary(IDR_WEBUI_JS_CR);
96 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
97 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SELECTION_MODEL);
98 RunTest(base::FilePath(FILE_PATH_LITERAL("list_selection_model_test.html")));
101 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, ListSingleSelectionModelTest) {
102 AddLibrary(IDR_WEBUI_JS_CR);
103 AddLibrary(IDR_WEBUI_JS_CR_EVENT_TARGET);
104 AddLibrary(IDR_WEBUI_JS_CR_UI_LIST_SINGLE_SELECTION_MODEL);
105 RunTest(base::FilePath(FILE_PATH_LITERAL(
106 "list_single_selection_model_test.html")));
109 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, LocalStringsTest) {
110 AddLibrary(IDR_WEBUI_JS_LOCAL_STRINGS);
111 RunTest(base::FilePath(FILE_PATH_LITERAL("local_strings_test.html")));
114 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, MenuTest) {
115 AddLibrary(IDR_WEBUI_JS_ASSERT);
116 AddLibrary(IDR_WEBUI_JS_CR);
117 AddLibrary(IDR_WEBUI_JS_CR_UI);
118 AddLibrary(IDR_WEBUI_JS_CR_UI_COMMAND);
119 AddLibrary(IDR_WEBUI_JS_CR_UI_MENU_ITEM);
120 AddLibrary(IDR_WEBUI_JS_CR_UI_MENU);
121 RunTest(base::FilePath(FILE_PATH_LITERAL("menu_test.html")));
124 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, MockTimerTest) {
125 RunTest(base::FilePath(FILE_PATH_LITERAL("mock_timer_test.html")));
128 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, ParseHtmlSubsetTest) {
129 AddLibrary(IDR_WEBUI_JS_PARSE_HTML_SUBSET);
130 RunTest(base::FilePath(FILE_PATH_LITERAL("parse_html_subset_test.html")));
133 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, PositionUtilTest) {
134 AddLibrary(IDR_WEBUI_JS_CR);
135 AddLibrary(IDR_WEBUI_JS_CR_UI_POSITION_UTIL);
136 RunTest(base::FilePath(FILE_PATH_LITERAL("position_util_test.html")));
139 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, RepeatingButtonTest) {
140 AddLibrary(IDR_WEBUI_JS_CR);
141 AddLibrary(IDR_WEBUI_JS_CR_UI);
142 AddLibrary(IDR_WEBUI_JS_CR_UI_REPEATING_BUTTON);
143 RunTest(base::FilePath(FILE_PATH_LITERAL("repeating_button_test.html")));