Only run ChromeVox2 tests when 'use_chromevox_next'==1.
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / chromevox_tests.gypi
blob92f1642f57e5f1891ac55c3757271304b4fbfa69
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   },
12   'targets': [
13     {
14       'target_name': 'chromevox_tests',
15       'type': 'executable',
16       'dependencies': [
17         '<(DEPTH)/base/base.gyp:base',
18         '<(DEPTH)/base/base.gyp:base_i18n',
19         '<(DEPTH)/base/base.gyp:test_support_base',
20         '<(DEPTH)/chrome/chrome.gyp:browser',
21         '<(DEPTH)/chrome/chrome.gyp:renderer',
22         '<(DEPTH)/chrome/chrome.gyp:test_support_common',
23         '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources',
24         '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings',
25         '<(DEPTH)/chrome/chrome_resources.gyp:packed_extra_resources',
26         '<(DEPTH)/chrome/chrome_resources.gyp:packed_resources',
27         '<(DEPTH)/testing/gmock.gyp:gmock',
28         '<(DEPTH)/testing/gtest.gyp:gtest',
29         '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
30         'chromevox_test_deps_js',
31       ],
32       'defines': [
33         'HAS_OUT_OF_PROC_TEST_RUNNER',
34       ],
35       'include_dirs': [
36         '<(DEPTH)',
37         '<(SHARED_INTERMEDIATE_DIR)',
38       ],
39       'rules': [
40         {
41           # A JavaScript test that runs in an environment similar to a webui
42           # browser test.
43           'rule_name': 'js2webui',
44           'extension': 'js',
45           'msvs_external_rule': 1,
46           'inputs': [
47             '<(gypv8sh)',
48             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
49             '<(mock_js)',
50             '<(test_api_js)',
51             '<(js2gtest)',
52             '<(chromevox_test_deps_js_file)',
53             'testing/chromevox_unittest_base.js',
54           ],
55           'outputs': [
56             '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
57             '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
58           ],
59           'process_outputs_as_sources': 1,
60           'action': [
61             'python',
62             '<(gypv8sh)',
63             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
64             '--deps_js', '<(chromevox_test_deps_js_file)',
65             '<(mock_js)',
66             '<(test_api_js)',
67             '<(js2gtest)',
68             'webui',
69             '<(RULE_INPUT_PATH)',
70             'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
71             '<@(_outputs)',
72           ],
73         },
74         {
75           # A JavaScript test that runs in the ChromeVox background page's
76           # isolate.
77           'rule_name': 'js2extension',
78           'extension': 'extjs',
79           'msvs_external_rule': 1,
80           'inputs': [
81             '<(gypv8sh)',
82             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
83             '<(mock_js)',
84             '<(test_api_js)',
85             '<(js2gtest)',
86             'testing/chromevox_unittest_base.js',
87           ],
88           'outputs': [
89             '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
90             '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs',
91           ],
92           'process_outputs_as_sources': 1,
93           'action': [
94             'python',
95             '<(gypv8sh)',
96             '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
97             '<(mock_js)',
98             '<(test_api_js)',
99             '<(js2gtest)',
100             'extension',
101             '<(RULE_INPUT_PATH)',
102             'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs',
103             '<@(_outputs)',
104           ],
105         },
106       ],
107       'sources': [
108         '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.cc',
109         '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.h',
110         '<(DEPTH)/chrome/test/base/browser_tests_main.cc',
111         '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.cc',
112         '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.h',
113         '<(DEPTH)/chrome/test/base/extension_js_browser_test.cc',
114         '<(DEPTH)/chrome/test/base/extension_js_browser_test.h',
115         '<(DEPTH)/chrome/test/base/javascript_browser_test.cc',
116         '<(DEPTH)/chrome/test/base/javascript_browser_test.h',
117         '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.cc',
118         '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.h',
119         '<(DEPTH)/chrome/test/base/web_ui_browser_test.cc',
120         '<(DEPTH)/chrome/test/base/web_ui_browser_test.h',
121         '<(DEPTH)/chrome/browser/extensions/browsertest_util.cc',
122         '<(DEPTH)/chrome/browser/extensions/browsertest_util.h',
124         'common/aria_util_test.js',
125         'common/cursor_selection_test.js',
126         'common/editable_text_area_shadow_test.js',
127         'common/key_sequence_test.js',
128         'common/math_semantic_tree_test.js',
129         'common/selection_util_test.js',
130       ],
131       'conditions': [
132         ['use_chromevox_next==1', {
133           'sources': ['../chromevox2/cvox2/background/background.extjs'],
134         }],
135       ],
136     },  # target chromevox_tests
137     {
138       'target_name': 'chromevox_test_deps_js',
139       'type': 'none',
140       'actions': [
141         {
142           'action_name': 'deps_js',
143           'message': 'Generate <(_target_name)',
144           'variables': {
145             # Closure library directory relative to source tree root.
146             'closure_dir': 'chrome/third_party/chromevox/third_party/closure-library/closure/goog',
147             'depswriter_path': 'tools/generate_deps.py',
148             'js_files': [
149               '<!@(python tools/find_js_files.py . <(DEPTH)/<(closure_dir))',
150             ],
151           },
152           'inputs': [
153             '<@(js_files)',
154             '<(depswriter_path)',
155           ],
156           'outputs': [
157             '<(chromevox_test_deps_js_file)',
158           ],
159           'action': [
160             'python',
161             '<(depswriter_path)',
162             '-w', '<(DEPTH)/<(closure_dir):<(closure_dir)',
163             '-w', ':chrome/browser/resources/chromeos/chromevox',
164             '-o', '<(chromevox_test_deps_js_file)',
165             '<@(js_files)',
166           ],
167         },
168       ],
169     },
170   ],