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