chromevox_tests.gypi revision 116680a4aac90f2aa7413d9095a592090648e557
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. 4 5{ 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. 44 'rule_name': 'js2webui', 45 'extension': 'js', 46 'msvs_external_rule': 1, 47 'inputs': [ 48 '<(gypv8sh)', 49 '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)', 50 '<(mock_js)', 51 '<(test_api_js)', 52 '<(js2gtest)', 53 '<(chromevox_test_deps_js_file)', 54 'testing/chromevox_unittest_base.js', 55 ], 56 'outputs': [ 57 '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc', 58 '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js', 59 ], 60 'process_outputs_as_sources': 1, 61 'action': [ 62 'python', 63 '<(gypv8sh)', 64 '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)', 65 '--deps_js', '<(chromevox_test_deps_js_file)', 66 '<(mock_js)', 67 '<(test_api_js)', 68 '<(js2gtest)', 69 'webui', 70 '<(RULE_INPUT_PATH)', 71 'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js', 72 '<@(_outputs)', 73 ], 74 }, 75 { 76 # A JavaScript test that runs in the ChromeVox background page's 77 # isolate. 78 'rule_name': 'js2extension', 79 'extension': 'extjs', 80 'msvs_external_rule': 1, 81 'inputs': [ 82 '<(gypv8sh)', 83 '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)', 84 '<(mock_js)', 85 '<(test_api_js)', 86 '<(js2gtest)', 87 'testing/chromevox_unittest_base.js', 88 ], 89 'outputs': [ 90 '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc', 91 '<(PRODUCT_DIR)/test_data/chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs', 92 ], 93 'process_outputs_as_sources': 1, 94 'action': [ 95 'python', 96 '<(gypv8sh)', 97 '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)', 98 '<(mock_js)', 99 '<(test_api_js)', 100 '<(js2gtest)', 101 'extension', 102 '<(RULE_INPUT_PATH)', 103 'chrome/browser/resources/chromeos/chromevox/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).extjs', 104 '<@(_outputs)', 105 ], 106 }, 107 ], 108 'sources': [ 109 '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.cc', 110 '<(DEPTH)/chrome/browser/ui/webui/web_ui_test_handler.h', 111 '<(DEPTH)/chrome/test/base/browser_tests_main.cc', 112 '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.cc', 113 '<(DEPTH)/chrome/test/base/extension_load_waiter_one_shot.h', 114 '<(DEPTH)/chrome/test/base/extension_js_browser_test.cc', 115 '<(DEPTH)/chrome/test/base/extension_js_browser_test.h', 116 '<(DEPTH)/chrome/test/base/javascript_browser_test.cc', 117 '<(DEPTH)/chrome/test/base/javascript_browser_test.h', 118 '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.cc', 119 '<(DEPTH)/chrome/test/base/test_chrome_web_ui_controller_factory.h', 120 '<(DEPTH)/chrome/test/base/web_ui_browser_test.cc', 121 '<(DEPTH)/chrome/test/base/web_ui_browser_test.h', 122 '<(DEPTH)/chrome/browser/extensions/browsertest_util.cc', 123 '<(DEPTH)/chrome/browser/extensions/browsertest_util.h', 124 125 'common/aria_util_test.js', 126 'common/braille_text_handler_test.js', 127 'common/braille_util_test.js', 128 'common/command_store_test.js', 129 'common/cursor_selection_test.js', 130 'common/dom_util_test.js', 131 'common/editable_text_area_shadow_test.js', 132 'common/editable_text_test.js', 133 'common/find_util_test.js', 134 'common/key_sequence_test.js', 135 'common/math_semantic_tree_test.js', 136 'common/page_selection_test.js', 137 'common/selection_util_test.js', 138 'common/spannable_test.js', 139 ], 140 'conditions': [ 141 ['use_chromevox_next==1', { 142 'sources': ['../chromevox2/cvox2/background/background.extjs'], 143 }], 144 ], 145 }, # target chromevox_tests 146 { 147 'target_name': 'chromevox_test_messages_js', 148 'type': 'none', 149 'actions': [ 150 { 151 'action_name': 'test_messages_js', 152 'message': 'Generate <(_target_name)', 153 'variables': { 154 'english_messages_file': '<(chromevox_dest_dir)/_locales/en/messages.json', 155 }, 156 'inputs': [ 157 'tools/generate_test_messages.py', 158 '<(english_messages_file)', 159 ], 160 'outputs': [ 161 '<(chromevox_test_messages_js_file)', 162 ], 163 'action': [ 164 'python', 165 'tools/generate_test_messages.py', 166 '-o', '<(chromevox_test_messages_js_file)', 167 '<(english_messages_file)', 168 ], 169 }, 170 ], 171 }, # target chromevox_test_messages_js 172 { 173 'target_name': 'chromevox_test_deps_js', 174 'type': 'none', 175 'actions': [ 176 { 177 'action_name': 'deps_js', 178 'message': 'Generate <(_target_name)', 179 'variables': { 180 # Closure library directory relative to source tree root. 181 'closure_dir': 'chrome/third_party/chromevox/third_party/closure-library/closure/goog', 182 'depswriter_path': 'tools/generate_deps.py', 183 'js_files': [ 184 '<!@(python tools/find_js_files.py . <(DEPTH)/<(closure_dir))', 185 '<(chromevox_test_messages_js_file)', 186 ], 187 }, 188 'inputs': [ 189 '<@(js_files)', 190 '<(depswriter_path)', 191 ], 192 'outputs': [ 193 '<(chromevox_test_deps_js_file)', 194 ], 195 'action': [ 196 'python', 197 '<(depswriter_path)', 198 '-w', '<(DEPTH)/<(closure_dir):<(closure_dir)', 199 '-w', '<(PRODUCT_DIR)/test_data:', 200 '-w', ':chrome/browser/resources/chromeos/chromevox', 201 '-o', '<(chromevox_test_deps_js_file)', 202 '<@(js_files)', 203 ], 204 }, 205 ], 206 'dependencies': [ 207 'chromevox_test_messages_js', 208 ], 209 }, # target chromevox_test_deps_js 210 ], 211} 212