# Copyright 2019 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("bin") {
  deps = [ "simple_browser" ]
}

group("dart_target_tests") {
  testonly = true

  deps = [ "simple_browser:simple_browser_target_test" ]
}

group("dart_unittests") {
  testonly = true

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

  deps = _flutter_tester_tests
}
