# Copyright 2021 The Fuchsia 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("dart") {
  testonly = true
  public_deps = [
    "//examples/dart:tests",
    "//examples/dart/fuchsia_modular/fibonacci_agent",
    "//examples/dart/fuchsia_modular/multilevel_mod",
    "//examples/dart/fuchsia_modular/slider_mod",
    "//examples/dart/fuchsia_services/mind_reader/bin:mind-reader-dart",
    "//examples/dart/fuchsia_webview_flutter/webview_mod",
  ]
}

group("tests") {
  testonly = true

  # TODO(fxb/41505): Temporarily disable flutter_tester tests on mac hosts.
  _flutter_tester_tests = []
  if (host_os != "mac") {
    _flutter_tester_tests += [ "//examples/dart/fuchsia_inspect_flutter/torus15:torus15_flutter_test($host_toolchain)" ]
  }

  public_deps =
      [
        "//examples/dart/fuchsia_inspect_flutter/torus15",
        "//examples/dart/fuchsia_inspect_flutter/torus15:torus15-dart-test",
        "//examples/dart/fuchsia_modular/slider_mod",
        "//examples/dart/fuchsia_modular/slider_mod:slider-mod-tests",
      ] + _flutter_tester_tests
}
