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

mojom("test_interfaces") {
  testonly = true
  sources = [
    "math_calculator.mojom",
    "no_module.mojom",
    "rect.mojom",
    "regression_tests.mojom",
    "regression_tests_import.mojom",
    "sample_factory.mojom",
    "sample_import.mojom",
    "sample_import2.mojom",
    "sample_interfaces.mojom",
    "sample_service.mojom",
    "serialization_test_structs.mojom",
    "test_structs.mojom",
    "validation_test_interfaces.mojom",
  ]
}
