zeek/testing/btest/language/enum.bro
Daniel Thayer 90281a2423 Add tests of the Bro scripting language
Added tests of all built-in Bro data types (including different
representations of constant values, and max./min. values), keywords, and
operators (including special properties of certain operators, such as
short-circuit evaluation and associativity).
2012-08-24 11:32:49 -05:00

32 lines
699 B
Text

# @TEST-EXEC: bro %INPUT >out
# @TEST-EXEC: btest-diff out
function test_case(msg: string, expect: bool)
{
print fmt("%s (%s)", msg, expect ? "PASS" : "FAIL");
}
# enum with optional comma at end of definition
type color: enum { Red, White, Blue, };
# enum without optional comma
type city: enum { Rome, Paris };
event bro_init()
{
local e1: color = Blue;
local e2: color = White;
local e3: color = Blue;
local e4: city = Rome;
test_case( "enum equality comparison", e1 != e2 );
test_case( "enum equality comparison", e1 == e3 );
test_case( "enum equality comparison", e1 != e4 );
# type inference
local x = Blue;
test_case( "type inference", x == e1 );
}