# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/features.gni")
import("//extensions/buildflags/buildflags.gni")
import("//tools/json_schema_compiler/json_features.gni")
import("//tools/json_schema_compiler/json_schema_api.gni")
assert(enable_extensions)
sources_ = [
"additional_properties.json",
"any.json",
"arrays.json",
"callbacks.json",
"choices.json",
"crossref.json",
"enums.json",
"error_generation.json",
"functions_as_parameters.json",
"functions_on_types.json",
"idl_basics.idl",
"idl_object_types.idl",
"idl_other_namespace.idl",
"idl_other_namespace_sub_namespace.idl",
"idl_properties.idl",
"ignore_additional_properties.json",
"objects.json",
"objects_movable.idl",
"objects_movable_json.json",
"returns_async.json",
"simple_api.json",
]
generated_types("generated_types") {
visibility = [ ":*" ]
sources = sources_
root_namespace = "test::api::%(namespace)s"
deps = [ "//extensions/buildflags" ]
}
generated_json_strings("generated_api_json_strings") {
sources = sources_
bundle_name = ""
visibility = [ ":*" ]
root_namespace = "test::api::%(namespace)s"
}
json_features("features_compiler_test") {
feature_type = "APIFeature"
method_name = "CompilerTestAddFeaturesMethod"
sources = [
"features_test.json",
"features_test2.json",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"additional_properties_unittest.cc",
"any_unittest.cc",
"arrays_unittest.cc",
"callbacks_unittest.cc",
"choices_unittest.cc",
"crossref_unittest.cc",
"enums_unittest.cc",
"error_generation_unittest.cc",
"functions_as_parameters_unittest.cc",
"functions_on_types_unittest.cc",
"generated_schemas_unittest.cc",
"idl_schemas_unittest.cc",
"ignore_additional_properties_unittest.cc",
"objects_unittest.cc",
"returns_async_unittest.cc",
"simple_api_unittest.cc",
"test_util.cc",
"test_util.h",
]
public_deps = [ ":features_compiler_test" ]
deps = [
":generated_api_json_strings",
":generated_types",
"//base",
"//base/test:test_support",
"//testing/gmock",
"//testing/gtest",
]
}