# Copyright 2018 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("//build/dart/dart_library.gni")
import("//topaz/runtime/dart/flutter_test.gni")

dart_library("testing") {
  package_name = "lib_setui_settings_testing"

  sources = [
    "mock_setting_adapter.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.setui",
    "//topaz/lib/setui/settings/client:client",
    "//topaz/lib/setui/settings/common:common",
  ]
}

flutter_test("lib_setui_settings_testing_test") {
  sources = [
    "mock_setting_adapter_test.dart",
  ]

  deps = [
    ":testing",
    "//sdk/fidl/fuchsia.setui",
    "//third_party/dart-pkg/git/flutter/packages/flutter_test",
    "//third_party/dart-pkg/pub/test",
    "//topaz/lib/setui/settings/common:common",
  ]
}
