# 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("session_shells") {
  testonly = true
  public_deps = [ "ermine" ]
}

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 += [
      "ermine/settings:ermine_settings_unittests($host_toolchain)",

      "ermine/shell:ermine_unittests($host_toolchain)",
      "ermine/tiler:tiler_unittests($host_toolchain)",
      "ermine/keyboard_shortcuts:keyboard_shortcuts_unittests($host_toolchain)",
    ]
  }

  deps =
      [ "//src/experiences/lib/quickui:quickui_unittests($host_toolchain)" ] +
      _flutter_tester_tests
}
