Home | History | Annotate | Download | only in ui
      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.
      4 
      5 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9   'targets': [
     10     {
     11       'target_name': 'ui_unittests',
     12       'type': '<(gtest_target_type)',
     13       'dependencies': [
     14         '../base/base.gyp:base',
     15         '../base/base.gyp:test_support_base',
     16         '../skia/skia.gyp:skia',
     17         '../testing/gmock.gyp:gmock',
     18         '../testing/gtest.gyp:gtest',
     19         '../third_party/icu/icu.gyp:icui18n',
     20         '../third_party/icu/icu.gyp:icuuc',
     21         '../url/url.gyp:url_lib',
     22         'base/ui_base.gyp:ui_base',
     23         'base/ui_base.gyp:ui_base_test_support',
     24         'events/events.gyp:events_base',
     25         'gfx/gfx.gyp:gfx_test_support',
     26         'resources/ui_resources.gyp:ui_resources',
     27         'resources/ui_resources.gyp:ui_test_pak',
     28         'strings/ui_strings.gyp:ui_strings',
     29       ],
     30       # iOS uses a small subset of ui. common_sources are the only files that
     31       # are built on iOS.
     32       'common_sources' : [
     33         'base/layout_unittest.cc',
     34         'base/l10n/l10n_util_mac_unittest.mm',
     35         'base/l10n/l10n_util_unittest.cc',
     36         'base/l10n/l10n_util_win_unittest.cc',
     37         'base/l10n/time_format_unittest.cc',
     38         'base/models/tree_node_iterator_unittest.cc',
     39         'base/resource/data_pack_literal.cc',
     40         'base/resource/data_pack_unittest.cc',
     41         'base/resource/resource_bundle_unittest.cc',
     42         'base/test/run_all_unittests.cc',
     43         'gfx/screen_unittest.cc',
     44       ],
     45       'all_sources': [
     46         '<@(_common_sources)',
     47         'base/accelerators/accelerator_manager_unittest.cc',
     48         'base/accelerators/menu_label_accelerator_util_linux_unittest.cc',
     49         'base/clipboard/custom_data_helper_unittest.cc',
     50         'base/cocoa/base_view_unittest.mm',
     51         'base/cocoa/cocoa_base_utils_unittest.mm',
     52         'base/cocoa/controls/blue_label_button_unittest.mm',
     53         'base/cocoa/controls/hover_image_menu_button_unittest.mm',
     54         'base/cocoa/controls/hyperlink_button_cell_unittest.mm',
     55         'base/cocoa/focus_tracker_unittest.mm',
     56         'base/cocoa/fullscreen_window_manager_unittest.mm',
     57         'base/cocoa/hover_image_button_unittest.mm',
     58         'base/cocoa/menu_controller_unittest.mm',
     59         'base/cocoa/nsgraphics_context_additions_unittest.mm',
     60         'base/cocoa/tracking_area_unittest.mm',
     61         'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc',
     62         'base/models/list_model_unittest.cc',
     63         'base/models/list_selection_model_unittest.cc',
     64         'base/models/tree_node_model_unittest.cc',
     65         'base/test/data/resource.h',
     66         'base/text/bytes_formatting_unittest.cc',
     67         'base/view_prop_unittest.cc',
     68         'base/webui/web_ui_util_unittest.cc',
     69         'gfx/canvas_unittest_mac.mm',
     70         'gfx/platform_font_mac_unittest.mm',
     71         'gfx/render_text_unittest.cc',
     72       ],
     73       'includes': [
     74         'display/display_unittests.gypi',
     75       ],
     76       'include_dirs': [
     77         '../',
     78       ],
     79       'conditions': [
     80         ['OS!="ios"', {
     81           'sources' : ['<@(_all_sources)'],
     82           'includes': [
     83             'base/ime/ime_unittests.gypi',
     84           ],
     85         }, {  # OS=="ios"
     86           'sources' : [
     87             '<@(_common_sources)',
     88           ],
     89           # The ResourceBundle unittest expects a locale.pak file to exist in
     90           # the bundle for English-US. Copy it in from where it was generated
     91           # by ui_resources.gyp:ui_test_pak.
     92           'mac_bundle_resources': [
     93             '<(PRODUCT_DIR)/ui/en.lproj/locale.pak',
     94           ],
     95           'actions': [
     96             {
     97               'action_name': 'copy_test_data',
     98               'variables': {
     99                 'test_data_files': [
    100                   'base/test/data',
    101                 ],
    102                 'test_data_prefix' : 'ui',
    103               },
    104               'includes': [ '../build/copy_test_data_ios.gypi' ],
    105             },
    106           ],
    107         }],
    108         ['OS == "win"', {
    109           'sources': [
    110             'base/dragdrop/os_exchange_data_win_unittest.cc',
    111             'base/win/hwnd_subclass_unittest.cc',
    112             'gfx/color_profile_win_unittest.cc',
    113             'gfx/font_fallback_win_unittest.cc',
    114             'gfx/icon_util_unittest.cc',
    115             'gfx/icon_util_unittests.rc',
    116             'gfx/platform_font_win_unittest.cc',
    117           ],
    118           'include_dirs': [
    119             '../..',
    120             '../third_party/wtl/include',
    121           ],
    122           'msvs_settings': {
    123             'VCLinkerTool': {
    124               'DelayLoadDLLs': [
    125                 'd2d1.dll',
    126                 'd3d10_1.dll',
    127               ],
    128               'AdditionalDependencies': [
    129                 'd2d1.lib',
    130                 'd3d10_1.lib',
    131               ],
    132             },
    133           },
    134           'link_settings': {
    135             'libraries': [
    136               '-limm32.lib',
    137               '-loleacc.lib',
    138             ],
    139           },
    140           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    141           'msvs_disabled_warnings': [ 4267, ],
    142         }],
    143         ['OS == "android"', {
    144           'dependencies': [
    145             '../testing/android/native_test.gyp:native_test_native_code',
    146           ],
    147         }],
    148         ['use_pango == 1', {
    149           'dependencies': [
    150             '../build/linux/system.gyp:pangocairo',
    151           ],
    152           'conditions': [
    153             ['use_allocator!="none"', {
    154                'dependencies': [
    155                  '../base/allocator/allocator.gyp:allocator',
    156                ],
    157             }],
    158           ],
    159         }],
    160         ['use_x11==1', {
    161           'dependencies': [
    162             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
    163             'events/platform/x11/x11_events_platform.gyp:x11_events_platform',
    164           ],
    165         }],
    166         ['OS=="android" or OS=="ios"', {
    167           'sources!': [
    168             'gfx/render_text_unittest.cc',
    169           ],
    170         }],
    171         ['OS!="win" or use_aura==0', {
    172           'sources!': [
    173             'base/view_prop_unittest.cc',
    174           ],
    175         }],
    176         ['use_x11==1 and use_aura==1',  {
    177           'sources': [
    178             'base/cursor/cursor_loader_x11_unittest.cc',
    179           ],
    180         }],
    181         ['OS=="mac"',  {
    182           'dependencies': [
    183             'events/events.gyp:events_test_support',
    184             'gfx/gfx.gyp:gfx_test_support',
    185             'ui_unittests_bundle',
    186           ],
    187         }],
    188         ['use_aura==1 or toolkit_views==1',  {
    189           'sources': [
    190             'base/dragdrop/os_exchange_data_unittest.cc',
    191           ],
    192           'dependencies': [
    193             'events/events.gyp:events',
    194             'events/events.gyp:events_base',
    195             'events/events.gyp:events_test_support',
    196             'events/platform/events_platform.gyp:events_platform',
    197           ],
    198         }],
    199         ['use_aura==1', {
    200           'sources!': [
    201             'base/dragdrop/os_exchange_data_win_unittest.cc',
    202             'gfx/screen_unittest.cc',
    203           ],
    204         }],
    205         ['use_ozone==1 and use_pango==0', {
    206           'sources!': [
    207             'gfx/render_text_unittest.cc',
    208           ],
    209         }],
    210         ['chromeos==1', {
    211           'dependencies': [
    212             '../chromeos/chromeos.gyp:chromeos',
    213             'aura/aura.gyp:aura_test_support',
    214             'chromeos/ui_chromeos.gyp:ui_chromeos',
    215             'events/events.gyp:gesture_detection',
    216           ],
    217           'sources': [
    218             'chromeos/touch_exploration_controller_unittest.cc'
    219           ],
    220           'sources!': [
    221             'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc',
    222           ],
    223         }],
    224       ],
    225       'target_conditions': [
    226         ['OS == "ios"', {
    227           'sources/': [
    228             # Pull in specific Mac files for iOS (which have been filtered out
    229             # by file name rules).
    230             ['include', '^base/l10n/l10n_util_mac_unittest\\.mm$'],
    231           ],
    232         }],
    233       ],
    234     },
    235   ],
    236   'conditions': [
    237     # Mac target to build a test Framework bundle to mock out resource loading.
    238     ['OS == "mac"', {
    239       'targets': [
    240         {
    241           'target_name': 'ui_unittests_bundle',
    242           'type': 'shared_library',
    243           'dependencies': [
    244             'resources/ui_resources.gyp:ui_test_pak',
    245           ],
    246           'includes': [ 'ui_unittests_bundle.gypi' ],
    247         },
    248       ],
    249     }],
    250     ['OS == "android"', {
    251       'targets': [
    252         {
    253           'target_name': 'ui_unittests_apk',
    254           'type': 'none',
    255           'dependencies': [
    256             'ui_unittests',
    257           ],
    258           'variables': {
    259             'test_suite_name': 'ui_unittests',
    260           },
    261           'includes': [ '../build/apk_test.gypi' ],
    262         },
    263       ],
    264     }],
    265   ],
    266 }
    267