File: suffix.ml

package info (click to toggle)
js-of-ocaml 6.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,932 kB
  • sloc: ml: 135,957; javascript: 58,364; ansic: 437; makefile: 422; sh: 12; perl: 4
file content (26 lines) | stat: -rw-r--r-- 845 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(* TEST *)

let () =
  let test ~suffix name exp =
    let r1 = Filename.chop_suffix_opt ~suffix name <> None in
    let r2 = Filename.check_suffix name suffix in
    assert (r1 = r2);
    assert (r1 = exp)
  in
  let full_test ~suffix name =
    test ~suffix name true;
    match Filename.chop_suffix_opt ~suffix name with
    | None -> assert false
    | Some base -> assert (base ^ suffix = name)
  in
  let win32 = Sys.os_type = "Win32" || Sys.os_type = "Cygwin" in
  full_test ~suffix:".txt" "foo.txt";
  full_test ~suffix:"txt" "foo.txt";
  full_test ~suffix:"" "foo.txt";
  full_test ~suffix:"" "";
  test ~suffix:".txt" "f" false;
  test ~suffix:".txt" "" false;
  test ~suffix:".txt" "foo.txt.bak" false;
  test ~suffix:".txt" "foo.TXT" win32;
  if win32 then
    assert (Filename.chop_suffix_opt ~suffix:".txt" "foo.TXT" = Some "foo")