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

import("//src/modular/build/modular_config/modular_config.gni")
import("//build/dart/dart_library.gni")
import("//topaz/runtime/dart/flutter_test.gni")
import("//topaz/runtime/flutter_runner/flutter_app.gni")

dart_library("internationalization") {
  package_name = "internationalization"
  # Disabling analysis for the time being, this is mostly generated code to begin
  # with, and there are issues like this one that make things harder than necessary:
  # https://github.com/dart-lang/sdk/issues/38598.
  disable_analysis = true

  sources = [
    "current_locale.dart",
    "localization/messages_all.dart",
    "localization/messages_messages.dart",
    "localization/messages_nl.dart",
    "localization/messages_sr.dart",
    "localizations_delegate.dart",
    "profile_provider.dart",
    "strings.dart",
    "supported_locales.dart",
  ]

  deps = [
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//third_party/dart-pkg/git/flutter/packages/flutter_localizations",
    "//third_party/dart/third_party/pkg/intl",
    "//topaz/public/dart/widgets:lib.widgets",
  ]
}

flutter_test("ermine_internationalization_unittests") {
  sources = [
    "current_locale_test.dart",
  ]

  deps = [
    ":internationalization",
    "//third_party/dart-pkg/git/flutter/packages/flutter_test",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
  ]
}
