# Copyright 2014 The Chromium 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("//testing/test.gni")

source_set("unit_tests") {
  testonly = true
  sources = [
    "clients/mojo_audio_decoder_unittest.cc",
    "clients/mojo_cdm_unittest.cc",
    "clients/mojo_renderer_unittest.cc",
    "common/media_type_converters_unittest.cc",
    "common/mojo_decoder_buffer_converter_unittest.cc",
    "common/mojo_shared_buffer_video_frame_unittest.cc",
    "services/mojo_cdm_allocator_unittest.cc",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//media",
    "//media:cdm_api",
    "//media/base:test_support",
    "//media/mojo/clients",
    "//media/mojo/common",
    "//media/mojo/interfaces",
    "//media/mojo/services:lib",
    "//services/service_manager/tests:interfaces",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/gfx:test_support",
  ]
}

test("media_mojo_unittests") {
  # crbug.com/676418: Suppress symbol import warnings.
  if (is_win && is_component_build) {
    ldflags = [
      "/ignore:4217",
      "/ignore:4049",
    ]
  }

  deps = [
    ":unit_tests",
    "//mojo/edk/test:run_all_unittests",
  ]
}
