chromevox_tests.gypi revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
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 }, 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', 123 124 'common/aria_util_test.js', 125 'common/command_store_test.js', 126 'common/cursor_selection_test.js', 127 'common/editable_text_area_shadow_test.js', 128 'common/editable_text_test.js', 129 'common/find_util_test.js', 130 'common/key_sequence_test.js', 131 'common/math_semantic_tree_test.js', 132 'common/page_selection_test.js', 133 'common/selection_util_test.js', 134 'common/spannable_test.js', 135 ], 136 'conditions': [ 137 ['use_chromevox_next==1', { 138 'sources': ['../chromevox2/cvox2/background/background.extjs'], 139 }], 140 ], 141 }, # target chromevox_tests 142 { 143 'target_name': 'chromevox_test_deps_js', 144 'type': 'none', 145 'actions': [ 146 { 147 'action_name': 'deps_js', 148 'message': 'Generate <(_target_name)', 149 'variables': { 150 # Closure library directory relative to source tree root. 151 'closure_dir': 'chrome/third_party/chromevox/third_party/closure-library/closure/goog', 152 'depswriter_path': 'tools/generate_deps.py', 153 'js_files': [ 154 '<!@(python tools/find_js_files.py . <(DEPTH)/<(closure_dir))', 155 ], 156 }, 157 'inputs': [ 158 '<@(js_files)', 159 '<(depswriter_path)', 160 ], 161 'outputs': [ 162 '<(chromevox_test_deps_js_file)', 163 ], 164 'action': [ 165 'python', 166 '<(depswriter_path)', 167 '-w', '<(DEPTH)/<(closure_dir):<(closure_dir)', 168 '-w', ':chrome/browser/resources/chromeos/chromevox', 169 '-o', '<(chromevox_test_deps_js_file)', 170 '<@(js_files)', 171 ], 172 }, 173 ], 174 }, 175 ], 176} 177