# 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("//mojo/public/tools/bindings/mojom.gni")

source_set("js_to_cpp_tests") {
  testonly = true

  deps = [
    ":js_to_cpp_bindings",
    "//gin:gin_test",
    "//mojo/edk/test:test_support",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/system",
    "//mojo/public/interfaces/bindings/tests:test_interfaces",
    "//services/js/system",
  ]

  sources = [
    "js_to_cpp_tests.cc",
  ]
}

mojom("js_to_cpp_bindings") {
  sources = [
    "js_to_cpp.mojom",
  ]
}
