# Copyright 2015 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.

group("all") {
  # Meta-target, don't link into production code.
  testonly = true

  deps = [
    ":tests",
  ]

  if (!is_component_build) {
    deps += [ "//mandoline/app" ]

    if (!is_win) {
      deps += [ "//components/filesystem" ]
    }
  }
}

group("tests") {
  testonly = true
  deps = [
    "//mojo:tests",
  ]

  # TODO(GYP): Make this work.
  if (!is_component_build && !is_mac) {
    deps += [
      "//components/clipboard:apptests",
      "//components/html_viewer:apptests",
      "//components/html_viewer:tests",
      "//components/resource_provider:apptests",
      "//components/resource_provider:tests",
      "//components/view_manager:tests",
    ]

    if (!is_win) {
      deps += [ "//components/filesystem:apptests" ]
    }
  }
}
