zeek/testing/btest/language/patterns-stored-in-containers.zeek
Jon Siwek da56cd44d9 Fix using patterns stored as table/set indices
Pattern values used as table/set indices are stored in serialized form
using just the pattern text, but re-creating the value from that didn't
fully initialize/compile the regex matcher after (re-)creating it from
that pattern text.
2020-04-06 17:12:33 -07:00

32 lines
698 B
Text

# @TEST-EXEC: zeek -b %INPUT >out
# @TEST-EXEC: btest-diff out
local test_string = "foo";
local myvec: vector of pattern = vector(/a/, /b/, /o/);
local myset: set[pattern] = {/a/, /b/, /o/};
local tk: table[pattern] of count = {[/a/] = 0, [/b/] = 1, [/o/] = 2};
local tv: table[count] of pattern = {[0] = /a/, [1] = /b/, [2] = /o/};
print /a/, /a/ in test_string;
print /b/, /b/ in test_string;
print /o/, /o/ in test_string;
print "---";
for ( i in myvec )
print myvec[i], myvec[i] in test_string;
print "---";
for ( p in myset )
print p, p in test_string;
print "---";
for ( k, v in tk )
print k, k in test_string;
print "---";
for ( key, val in tv )
print val, val in test_string;