X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fpxp%2Frtests%2Fnegative%2Ftest_negative.ml;fp=helm%2FDEVEL%2Fpxp%2Fpxp%2Frtests%2Fnegative%2Ftest_negative.ml;h=13f049c4739a4b6b1751960d38ad89aab7a6a634;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/pxp/rtests/negative/test_negative.ml b/helm/DEVEL/pxp/pxp/rtests/negative/test_negative.ml new file mode 100644 index 000000000..13f049c47 --- /dev/null +++ b/helm/DEVEL/pxp/pxp/rtests/negative/test_negative.ml @@ -0,0 +1,105 @@ +(* $Id$ + * ---------------------------------------------------------------------- + * + *) + + +open Pxp_document;; +open Pxp_yacc;; +open Pxp_types;; + +let error_happened = ref false;; + +let rec print_error e = + print_endline (string_of_exn e) +;; + +class warner = + object + method warn w = + print_endline ("WARNING: " ^ w) + end +;; + +let parse debug wf iso88591 filename = + try + let config = + { default_config with + warner = new warner; + debugging_mode = debug; + encoding = if iso88591 then `Enc_iso88591 else `Enc_utf8; + idref_pass = true; + } + in + let parse_fn = + if wf then parse_wfdocument_entity + else + let index = new hash_index in + parse_document_entity + ?transform_dtd:None + ~id_index:(index :> 'ext index) + in + let tree = + parse_fn + config + (from_file filename) + default_spec + in + print_endline "Parsed without error"; + with + e -> + error_happened := true; + print_error e +;; + + +let main() = + let debug = ref false in + let wf = ref false in + let iso88591 = ref false in + let files = ref [] in + Arg.parse + [ "-d", Arg.Set debug, "turn debugging mode on"; + "-wf", Arg.Set wf, "check only on well-formedness"; + "-iso-8859-1", Arg.Set iso88591, "use ISO-8859-1 as internal encoding instead of UTF-8"; + ] + (fun x -> files := x :: !files) + " +usage: test_negative [options] file ... + +List of options:"; + files := List.rev !files; + List.iter (parse !debug !wf !iso88591) !files; +;; + + +main(); +if !error_happened then exit(1);; + +(* ====================================================================== + * History: + * + * $Log$ + * Revision 1.1 2000/11/17 09:57:33 lpadovan + * Initial revision + * + * Revision 1.6 2000/07/14 14:57:12 gerd + * Updated: warner + * + * Revision 1.5 2000/07/14 14:20:11 gerd + * Updated because of PXP interface changes. + * + * Revision 1.4 2000/07/09 01:49:09 gerd + * Updated because of PXP interface changes. + * + * Revision 1.3 2000/06/04 20:31:21 gerd + * Updates because of renamed PXP modules. + * + * Revision 1.2 2000/05/28 17:23:22 gerd + * Updated. + * + * Revision 1.1 2000/05/01 15:58:50 gerd + * Initial revision. + * + * + *)