Move Webstore URL concepts to //extensions and out
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / chromevox_tests.gypi
blob8eaa4eb32dea27bbcf2674778194af86842db76a
1 # Copyright 2014 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.
6   'includes': [
7     '../../../../js_unittest_vars.gypi',
8   ],
9   'variables': {
10     'chromevox_test_deps_js_file': '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/chromeos/chromevox/test_deps.js',
11     'chromevox_test_messages_js_file': '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/host/testing/test_messages.js',
12   },
13   'targets': [
14     {
15       'target_name': 'chromevox_tests',
16       'type': 'executable',
17       'dependencies': [
18         '<(DEPTH)/base/base.gyp:base',
19         '<(DEPTH)/base/base.gyp:base_i18n',
20         '<(DEPTH)/base/base.gyp:test_support_base',
21         '<(DEPTH)/chrome/chrome.gyp:browser',
22         '<(DEPTH)/chrome/chrome.gyp:renderer',
23         '<(DEPTH)/chrome/chrome.gyp:test_support_common',
24         '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources',
25         '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings',
26         '<(DEPTH)/chrome/chrome_resources.gyp:packed_extra_resources',
27         '<(DEPTH)/chrome/chrome_resources.gyp:packed_resources',
28         '<(DEPTH)/testing/gmock.gyp:gmock',
29         '<(DEPTH)/testing/gtest.gyp:gtest',
30         '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
31         'chromevox_test_deps_js',
32       ],
33       'defines': [
34         'HAS_OUT_OF_PROC_TEST_RUNNER',
35       ],
36       'include_dirs': [
37         '<(DEPTH)',
38         '<(SHARED_INTERMEDIATE_DIR)',
39       ],
40       'rules': [
41         {
42           # A JavaScript test that runs in an environment similar to a webui
43           # browser test.  This is meant for unit tests that test individual
44           # components without depending on the ChromeVox extension.
45           'rule_name': 'js2webui',
46           'extension': 'unitjs',
47           'msvs_external_rule': 1,
48           'inputs': [
49             '<(gypv8sh)',
50             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
51             '<(mock_js)',
52             '<(test_api_js)',
53             '<(js2gtest)',
54             '<(chromevox_test_deps_js_file)',
55             'testing/chromevox_unittest_base.js',
56             'testing/assert_additions.js',
57           ],
58           'outputs': [
59             '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
60             '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
61           ],
62           'process_outputs_as_sources': 1,
63           'action': [
64             'python',
65             '<(gypv8sh)',
66             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
67             '--deps_js', '<(chromevox_test_deps_js_file)',
68             '<(mock_js)',
69             '<(test_api_js)',
70             '<(js2gtest)',
71             'webui',
72             '<(RULE_INPUT_PATH)',
73             'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).unitjs',
74             '<@(_outputs)',
75           ],
76         },
77         {
78           # A JavaScript test that runs in the ChromeVox background page's
79           # isolate.
80           'rule_name': 'js2extension',
81           'extension': 'extjs',
82           'msvs_external_rule': 1,
83           'inputs': [
84             '<(gypv8sh)',
85             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
86             '<(mock_js)',
87             '<(test_api_js)',
88             '<(js2gtest)',
89             'testing/chromevox_e2e_test_base.js',
90             'testing/assert_additions.js',
91           ],
92           'outputs': [
93             '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
94             '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs',
95           ],
96           'process_outputs_as_sources': 1,
97           'action': [
98             'python',
99             '<(gypv8sh)',
100             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
101             '<(mock_js)',
102             '<(test_api_js)',
103             '<(js2gtest)',
104             'extension',
105             '<(RULE_INPUT_PATH)',
106             'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs',
107             '<@(_outputs)',
108           ],
109         },
110       ],
111       'sources': [
112         '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.cc',
113         '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.h',
114         '<(DEPTH)/chrome/test/base/browser_tests_main.cc',
115         '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.cc',
116         '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.h',
117         '<(DEPTH)/chrome/test/base/extension_js_browser_test.cc',
118         '<(DEPTH)/chrome/test/base/extension_js_browser_test.h',
119         '<(DEPTH)/chrome/test/base/javascript_browser_test.cc',
120         '<(DEPTH)/chrome/test/base/javascript_browser_test.h',
121         '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.cc',
122         '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.h',
123         '<(DEPTH)/chrome/test/base/web_ui_browser_test.cc',
124         '<(DEPTH)/chrome/test/base/web_ui_browser_test.h',
125         '<(DEPTH)/chrome/browser/extensions/browsertest_util.cc',
126         '<(DEPTH)/chrome/browser/extensions/browsertest_util.h',
128         'common/aria_util_test.unitjs',
129         'common/braille_text_handler_test.unitjs',
130         'common/braille_util_test.unitjs',
131         'common/command_store_test.unitjs',
132         'common/content_editable_extractor_test.unitjs',
133         'common/cursor_selection_test.unitjs',
134         'common/dom_util_test.unitjs',
135         'common/editable_text_area_shadow_test.unitjs',
136         'common/editable_text_test.unitjs',
137         'common/find_util_test.unitjs',
138         'common/key_sequence_test.unitjs',
139         'common/math_semantic_tree_test.unitjs',
140         'common/page_selection_test.unitjs',
141         'common/selection_util_test.unitjs',
142         'common/spannable_test.unitjs',
143         'host/chrome/braille_display_manager_test.unitjs',
144         'host/chrome/braille_input_handler_test.unitjs',
145         'host/chrome/braille_integration_test.unitjs',
146         'host/chrome/braille_table_test.extjs',
147         'host/chrome/expanding_braille_translator_test.unitjs',
148         'host/chrome/tts_background_test.extjs',
149         'liblouis_nacl/liblouis_test.extjs',
150         'walkers/character_walker_test.unitjs',
151         'walkers/group_walker_test.unitjs',
152         'walkers/object_walker_test.unitjs',
153         'walkers/layout_line_walker_test.unitjs',
154         'walkers/math_shifter_test.unitjs',
155         'walkers/sentence_walker_test.unitjs',
156         'walkers/structural_line_walker_test.unitjs',
157         'walkers/table_walker_test.unitjs',
158         'walkers/word_walker_test.unitjs',
159       ],
160       'conditions': [
161         ['use_chromevox_next==1', {
162           'sources': ['../chromevox2/cvox2/background/background.extjs'],
163         }],
164       ],
165     },  # target chromevox_tests
166     {
167       'target_name': 'chromevox_test_messages_js',
168       'type': 'none',
169       'actions': [
170         {
171           'action_name': 'test_messages_js',
172           'message': 'Generate <(_target_name)',
173           'variables': {
174             'english_messages_file': '<(chromevox_dest_dir)/_locales/en/messages.json',
175           },
176           'inputs': [
177             'tools/generate_test_messages.py',
178             '<(english_messages_file)',
179           ],
180           'outputs': [
181             '<(chromevox_test_messages_js_file)',
182           ],
183           'action': [
184             'python',
185             'tools/generate_test_messages.py',
186             '-o', '<(chromevox_test_messages_js_file)',
187             '<(english_messages_file)',
188           ],
189         },
190       ],
191     },  # target chromevox_test_messages_js
192     {
193       'target_name': 'chromevox_test_deps_js',
194       'type': 'none',
195       'actions': [
196         {
197           'action_name': 'deps_js',
198           'message': 'Generate <(_target_name)',
199           'variables': {
200             # Closure library directory relative to source tree root.
201             'closure_dir': 'chrome/third_party/chromevox/third_party/closure-library/closure/goog',
202             'depswriter_path': 'tools/generate_deps.py',
203             'js_files': [
204               '<!@(python tools/find_js_files.py . <(DEPTH)/<(closure_dir))',
205               '<(chromevox_test_messages_js_file)',
206             ],
207           },
208           'inputs': [
209             '<@(js_files)',
210             '<(depswriter_path)',
211           ],
212           'outputs': [
213             '<(chromevox_test_deps_js_file)',
214           ],
215           'action': [
216             'python',
217             '<(depswriter_path)',
218             '-w', '<(DEPTH)/<(closure_dir):<(closure_dir)',
219             '-w', '<(PRODUCT_DIR)/test_data:',
220             '-w', ':chrome/browser/resources/chromeos/chromevox',
221             '-o', '<(chromevox_test_deps_js_file)',
222             '<@(js_files)',
223           ],
224         },
225       ],
226       'dependencies': [
227         'chromevox_test_messages_js',
228       ],
229     },  # target chromevox_test_deps_js
230   ],