1() = evalfile ("./test.sl");
2require("onig.sl");
3
4private define exec (syntax, pattern, astr)
5{
6   variable reg = onig_new (pattern, ONIG_OPTION_DEFAULT, "ascii", syntax);
7   variable r = onig_search (reg, astr);
8   if (r)
9     {
10	variable i;
11	for (i = 0; i < r; i++)
12	  {
13	     variable nth = onig_nth_match (reg, i);
14#ifdef DEBUG
15	     () = fprintf(stderr, "%d: (%d-%d)\n", i, nth[0], nth[1]);
16#endif
17	  }
18     }
19   else
20     failed ("search fail");
21}
22
23define slsh_main ()
24{
25   testing_module ("onig");
26
27   exec("perl",
28	"\\p{XDigit}\\P{XDigit}\\p{^XDigit}\\P{^XDigit}\\p{XDigit}",
29	"bgh3a");
30
31   exec("java",
32	"\\p{XDigit}\\P{XDigit}[a-c&&b-g]", "xbgc");
33
34   exec("asis",
35	"abc def* e+ g?ddd[a-rvvv] (vv){3,7}hv\\dvv(?:aczui ss)\\W\\w$",
36	"abc def* e+ g?ddd[a-rvvv] (vv){3,7}hv\\dvv(?:aczui ss)\\W\\w$");
37
38#ifdef DEBUG
39   message ("Supported syntaxes:");
40   array_map (Void_Type, &message, onig_get_syntaxes());
41   message ("Supported encodings:");
42   array_map (Void_Type, &message, onig_get_encodings());
43#endif
44
45   end_test ();
46}
47