Index: tests/DialPlan/configs/ast1/extensions.conf =================================================================== --- tests/DialPlan/configs/ast1/extensions.conf (revision 1633) +++ tests/DialPlan/configs/ast1/extensions.conf (working copy) @@ -5,9 +5,101 @@ [test] exten => s,1,NoOp() - same => n,Answer() - same => n,Set(TestResult=True) - same => n,Hangup() +same => n,Goto(pattern-match-test,1) +exten => pattern-match-test,1,NoOp() +same => n,Set(TestCounter=0) +same => n,Set(Result=OK) +same => n(top),NoOp() +same => n,Set(TestCounter=${INC(TestCounter)}) +same => n,GotoIf($[${Result} != OK]?result_fail,1) + +; test numerical extensions +same => n,ExecIf($[${TestCounter} = 1]?Goto(100,1)) +same => n,ExecIf($[${TestCounter} = 2]?Goto(101,1)) +same => n,ExecIf($[${TestCounter} = 3]?Goto(106,1)) +same => n,ExecIf($[${TestCounter} = 10]?Goto(155,1)) +same => n,ExecIf($[${TestCounter} = 11]?Goto(255,1)) + +; test alpha extensions +same => n,ExecIf($[${TestCounter} = 4]?Goto(abc,1)) +same => n,ExecIf($[${TestCounter} = 5]?Goto(abc0,1)) +same => n,ExecIf($[${TestCounter} = 6]?Goto(abc2,1)) +same => n,ExecIf($[${TestCounter} = 7]?Goto(cba,1)) +same => n,ExecIf($[${TestCounter} = 8]?Goto(cbaz,1)) +same => n,ExecIf($[${TestCounter} = 9]?Goto(cbazy,1)) + +same => n,Goto(result_pass,1) + + +; *** Patterns to match +exten => 100,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '100') +same => n,Set(Result=${IF($[${TestCounter} = 1]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _1X[0-5],1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_1X[0-5]') +same => n,Set(Result=${IF($[${TestCounter} = 2]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _1XX,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_1XX') +same => n,Set(Result=${IF($[${TestCounter} = 3]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => abc,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on 'abc') +same => n,Set(Result=${IF($[${TestCounter} = 4]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _[a][b][c]X,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_[a][b][c]X') +same => n,Set(Result=${IF($[${TestCounter} = 5]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _[a][b][c]N,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_[a][b][c]N') +same => n,Set(Result=${IF($[${TestCounter} = 6]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => cba,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on 'cba') +same => n,Set(Result=${IF($[${TestCounter} = 7]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _[c][b][a]!,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_[c][b][a]!') +same => n,Set(Result=${IF($[${TestCounter} = 8]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _[c][b][a][z].,1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_[c][b][a][z].') +same => n,Set(Result=${IF($[${TestCounter} = 9]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _1[5][0-5],1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_1[5][0-5]') +same => n,Set(Result=${IF($[${TestCounter} = 10]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +exten => _[1-2][5][0-5],1,NoOp() +same => n,Set(2,Extension '${EXTEN}' matched on '_[1-2][5][0-5]') +same => n,Set(Result=${IF($[${TestCounter} = 11]?OK:Fail)}) +same => n,Goto(pattern-match-test,top) + +; *** + + +; *** Results +exten => result_pass,1,NoOp() +same => n,Set(TestResult=True) +same => n,Hangup() + +exten => result_fail,1,NoOp() +same => n,Set(TestResult=False) +same => n,Hangup() +; *** + exten => h,1,UserEvent(TestResult, result: ${TestResult})