# 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")

test("media_mojo_unittests") {
  sources = [
    "clients/mojo_renderer_unittest.cc",
    "common/media_type_converters_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",
    "//mojo/edk/test:run_all_unittests",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/gfx:test_support",
  ]
}
