# 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("//build/dart/test.gni")
import("//build/testing/environments.gni")

dart_test("can_play_video_test") {
  sources = [
    "can_play_video_test.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//third_party/dart-pkg/pub/image",
    "//third_party/dart-pkg/pub/matcher",
    "//third_party/dart-pkg/pub/test",
  ]

  _untagged_envs = [
    nuc_env,
    astro_env,
  ]
  environments = []
  foreach(env, _untagged_envs) {
    if (!defined(env.tags)) {
      env.tags = []
    }
    env.tags += [ "e2e-workstation" ]
    environments += [ env ]
  }
}

group("test") {
  testonly = true

  deps = [
    ":can_play_video_test($host_toolchain)",
  ]
}
