aboutsummaryrefslogtreecommitdiff
path: root/scripts/test_ports/unit-test-cmake/test-z_vcpkg_function_arguments.cmake
blob: e88eb683f9b497e67f3523e067cb2cc95ab4e090 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# these both set `args` in the top level
function(check_function_args start)
    z_vcpkg_function_arguments(out "${start}")
    set(args "${out}" PARENT_SCOPE)
endfunction()
function(check_all_function_args)
    z_vcpkg_function_arguments(out)
    set(args "${out}" PARENT_SCOPE)
endfunction()

unit_test_ensure_fatal_error([[check_function_args(-1)]])
unit_test_ensure_fatal_error([[check_function_args(3)]])
unit_test_ensure_fatal_error([[check_function_args(notanumber)]])
unit_test_check_variable_equal(
    [[check_all_function_args()]]
    args ""
)
unit_test_check_variable_equal(
    [[check_all_function_args("")]]
    args ""
)
unit_test_check_variable_equal(
    [[check_all_function_args("" "")]]
    args ";"
)
unit_test_check_variable_equal(
    [[check_all_function_args("" "" "" "")]]
    args ";;;"
)

unit_test_check_variable_equal(
    [[check_all_function_args(a b c)]]
    args "a;b;c"
)
unit_test_check_variable_equal(
    [[check_function_args(2 a b c)]]
    args "b;c"
)
unit_test_check_variable_equal(
    [[check_function_args(3 a b c)]]
    args "c"
)

unit_test_check_variable_equal(
    [=[check_all_function_args("a;b" [[c\;d]] e)]=]
    args [[a\;b;c\\;d;e]]
)
unit_test_check_variable_equal(
    [=[check_all_function_args("a;b" [[c\;d]] [[e\\;f]])]=]
    args [[a\;b;c\\;d;e\\\;f]]
)
unit_test_check_variable_equal(
    [=[check_function_args(2 "a;b" [[c\;d]] e)]=]
    args [[c\\;d;e]]
)
unit_test_check_variable_equal(
    [=[check_function_args(3 "a;b" [[c\;d]] e)]=]
    args "e"
)
unit_test_check_variable_equal(
    [=[check_function_args(4 "a;b" [[c\;d]] e)]=]
    args ""
)