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

import("//peridot/build/module_manifest.gni")

group("dart_unittests") {
  testonly = true

  deps = [
    "app/contacts:tests",
    # "app/dashboard:tests",
    "app/documents/packages/utils:document_util_tests",
    "examples/test/driver_example_mod:driver_example_mod_remote_tests",
    "examples/test/flutter_widget_test:flutter_widget_test",
    "public/dart/sledge:dart_sledge_tests",
    # "public/dart/widgets:dart_widget_tests",
    "public/lib/app/dart:dart_app_tests",
    "public/lib/ledger/dart:dart_tests",
    "public/lib/schemas/dart:dart_schema_tests",
    "shell:tests",
    "tools/dartfmt_extras:dartfmt_extras_tests",
    # "tools/mod:mod_tests",
    "tools/widget_explorer:tests",
  ]
}

# This target, if included in the built image, will cause the listed module
# packages (which must also be included in the built image) to have their
# manifests indexed by the on-device module resolver when the user logs in.
initial_module_packages("topaz_modules_index") {
  packages = [
    "contacts_picker",
    "documents_info",
    "image",
    "video",
  ]
}
