load("//cc/toolchains:format.bzl", "format_arg")
load("//cc/toolchains:nested_args.bzl", "cc_nested_args")
load("//cc/toolchains/impl:variables.bzl", "cc_builtin_variables", "cc_variable", "types")
load("//tests/rule_based_toolchain:analysis_test_suite.bzl", "analysis_test_suite")
load(":variables_test.bzl", "TARGETS", "TESTS")

cc_variable(
    name = "str",
    type = types.string,
)

cc_variable(
    name = "optional_list",
    type = types.option(types.list(types.string)),
)

cc_variable(
    name = "str_list",
    type = types.list(types.string),
)

cc_variable(
    name = "str_option",
    type = types.option(types.string),
)

cc_variable(
    name = "struct",
    actions = ["//tests/rule_based_toolchain/actions:c_compile"],
    type = types.struct(
        nested_str = types.string,
        nested_str_list = types.list(types.string),
    ),
)

cc_variable(
    name = "struct_list",
    actions = ["//tests/rule_based_toolchain/actions:c_compile"],
    type = types.list(types.struct(
        nested_str = types.string,
        nested_str_list = types.list(types.string),
    )),
)

cc_variable(
    name = "struct_list.nested_str_list",
    type = types.unknown,
)

# Dots in the name confuse the test rules.
# It would end up generating targets.struct_list.nested_str_list.
alias(
    name = "nested_str_list",
    actual = ":struct_list.nested_str_list",
)

cc_nested_args(
    name = "simple_str",
    args = [format_arg("%s", ":str")],
)

cc_nested_args(
    name = "list_not_allowed",
    args = [format_arg("%s", ":str_list")],
)

cc_nested_args(
    name = "iterate_over_list",
    args = [format_arg("%s")],
    iterate_over = ":str_list",
)

cc_nested_args(
    name = "iterate_over_non_list",
    args = ["--foo"],
    iterate_over = ":str",
)

cc_nested_args(
    name = "str_not_a_bool",
    args = ["--foo"],
    requires_true = ":str",
)

cc_nested_args(
    name = "str_equal",
    args = ["--foo"],
    requires_equal = ":str",
    requires_equal_value = "bar",
)

cc_nested_args(
    name = "inner_iter",
    args = [format_arg("%s")],
    iterate_over = ":struct_list.nested_str_list",
)

cc_nested_args(
    name = "outer_iter",
    iterate_over = ":struct_list",
    nested = [":inner_iter"],
)

cc_nested_args(
    name = "bad_inner_iter",
    args = [format_arg("%s", ":struct_list.nested_str_list")],
)

cc_nested_args(
    name = "bad_outer_iter",
    iterate_over = ":struct_list",
    nested = [":bad_inner_iter"],
)

cc_nested_args(
    name = "bad_nested_optional",
    args = [format_arg("%s", ":str_option")],
)

cc_nested_args(
    name = "good_nested_optional",
    args = [format_arg("%s", ":str_option")],
    requires_not_none = ":str_option",
)

cc_nested_args(
    name = "optional_list_iter",
    args = ["--foo"],
    iterate_over = ":optional_list",
)

cc_builtin_variables(
    name = "variables",
    srcs = [
        ":optional_list",
        ":str",
        ":str_list",
        ":str_option",
        ":struct",
        ":struct_list",
    ],
)

analysis_test_suite(
    name = "test_suite",
    targets = TARGETS,
    tests = TESTS,
)
