diff options
Diffstat (limited to '')
-rw-r--r-- | src/tests/keywords/foreach-regex | 26 | ||||
-rw-r--r-- | src/tests/keywords/foreach-regex.attrs | 16 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/tests/keywords/foreach-regex b/src/tests/keywords/foreach-regex new file mode 100644 index 0000000..dab57a3 --- /dev/null +++ b/src/tests/keywords/foreach-regex @@ -0,0 +1,26 @@ +# PRE: foreach if-regex-match + +# This is what most people end up using foreach for, +# so we should probably test it works. +update request { + Tmp-String-0 := "cisco" +} + +# Expanded regex +foreach Cisco-AVPair { + if ("%{Foreach-Variable-0}" =~ /^%{Tmp-String-0}=(.*)$/i) { + update reply { + Called-Station-Id += "%{1}" + } + } +} + +# Compiled regex +foreach Cisco-AVPair { + if ("%{Foreach-Variable-0}" =~ /^stupid=(.*)$/i) { + update reply { + Called-Station-Id += "%{1}" + } + } +} + diff --git a/src/tests/keywords/foreach-regex.attrs b/src/tests/keywords/foreach-regex.attrs new file mode 100644 index 0000000..79996c7 --- /dev/null +++ b/src/tests/keywords/foreach-regex.attrs @@ -0,0 +1,16 @@ +# +# Input packet +# +User-Name = "bob" +User-Password = "hello" +Cisco-AVPair = "stupid=1" +Cisco-AVPair += "retarded=2" +Cisco-AVPair += "cisco=3" +Cisco-AVPair += "shit=4" + +# +# Expected answer +# +Response-Packet-Type == Access-Accept +Called-Station-Id == "3" +Called-Station-Id == "1" |