zeek/testing/btest/language/func-assignment.zeek
Robin Sommer 789cb376fd GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev.
This also installs symlinks from "zeek" and "bro-config" to a wrapper
script that prints a deprecation warning.

The btests pass, but this is still WIP. broctl renaming is still
missing.

#239
2019-05-01 21:43:45 +00:00

39 lines
826 B
Text

# @TEST-EXEC: zeek -b %INPUT >out
# @TEST-EXEC: btest-diff out
function double_string(s: string): string
{
return string_cat(s, " ", s);
}
function triple_string(str: string): string
{
return string_cat(str, " ", str, " ", str);
}
type sample_function: record {
s: string;
f: function(str: string): string;
};
event zeek_init()
{
local test_sf: sample_function;
test_sf$s = "Brogrammers, like bowties, are cool.";
test_sf$f = triple_string;
print test_sf$f(test_sf$s);
test_sf$f = double_string;
print test_sf$f(test_sf$s);
# Works as expected
test_sf$f = function(str: string): string
{ return to_upper(str); };
print test_sf$f(test_sf$s);
# Func arg names shouldn't factor in to the type check.
test_sf$f = function(s: string): string
{ return to_upper(s); };
print test_sf$f(test_sf$s);
}