# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
  'includes': [
    '../third_party/icu/icu.isolate',
  ],
  'conditions': [
    ['OS=="win" or OS=="mac" or OS=="linux"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/mojo_js_unittests<(EXECUTABLE_SUFFIX)',
          '--brave-new-test-launcher',
          '--test-launcher-bot-mode',
        ],
        'isolate_dependency_tracked': [
          '../gin/test/expect.js',
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/mojo_js_unittests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/gen/mojo/public/interfaces/bindings/tests/',
          'bindings/js/',
          'public/js/bindings/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/mojo_system.dll',
          '<(PRODUCT_DIR)/mojo_test_support.dll',
        ],
      },
    }],
    ['OS=="linux"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/lib/libmojo_test_support.so',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/libmojo_test_support.dylib',
        ],
      },
    }],
  ],
}
