RPA Toolkit
modified the returned error.
[rpatk.git] / phpext / prpa / tests / 010.phpt
1 --TEST--
2 rpaparse($bnf, $input, $records, $error);
3 --SKIPIF--
4 <?php if (!extension_loaded("prpa")) echo "skip\n"; ?>
5 --FILE--
6 <?php 
7         $records = 0;
8         $error = 0;
9         $bnf = "#!emitid first 1\n" .
10         "#!emitid last 2\n" .
11         "#!emitid name 3\n" .
12         "first ::= [a-z]+\n" .
13         "last ::= [a-z]+\n" .
14         "name ::= <first> ' '+ <last>\n";
15         $myname = "John Smith"; 
16         $ret = rpaparse($bnf, RPA_ENCODING_ICASE_UTF8, $myname, $records, $error);
17         if ($ret < 0) {
18                 if (is_array($error)) 
19                         die($error['message'] . "\n");
20                 else
21                         die("praparse error.\n");
22         }
23         $matched = "matched: " . substr($myname, 0, $ret) . "\n";
24         echo($matched);
25         
26         if (is_array($records)) {
27                 foreach ($records as $record) {
28                         if ($record['type'] & RPA_RECORD_START)
29                                 echo("START ");
30                         else if ($record['type'] & RPA_RECORD_END)
31                                 echo("END   ");
32                         else
33                                 echo("UNKNOWN");
34                         echo ($record['uid'] . ", " . $record['rule'] . ": " . $record['input'] . "\n");
35                 }
36         }
37 ?>
38 --EXPECT--
39 matched: John Smith
40 START 3, name: John Smith
41 START 1, first: John
42 END   1, first: John
43 START 2, last: Smith
44 END   2, last: Smith
45 END   3, name: John Smith