Blame test/test_UTF8.ml

rpm-build 0f2925
let substring_inputs =
rpm-build 0f2925
[
rpm-build 0f2925
  [|
rpm-build 0f2925
    "";
rpm-build 0f2925
    "⟿";
rpm-build 0f2925
    "⟿ቄ";
rpm-build 0f2925
    "⟿ቄş";
rpm-build 0f2925
    "⟿ቄş龟";
rpm-build 0f2925
    "⟿ቄş龟¯";
rpm-build 0f2925
  |];
rpm-build 0f2925
  [|
rpm-build 0f2925
    "";
rpm-build 0f2925
    "ç";
rpm-build 0f2925
    "çe";
rpm-build 0f2925
    "çek";
rpm-build 0f2925
    "çeko";
rpm-build 0f2925
    "çekos";
rpm-build 0f2925
    "çekosl";
rpm-build 0f2925
    "çekoslo";
rpm-build 0f2925
    "çekoslov";
rpm-build 0f2925
    "çekoslova";
rpm-build 0f2925
    "çekoslovak";
rpm-build 0f2925
    "çekoslovaky";
rpm-build 0f2925
    "çekoslovakya";
rpm-build 0f2925
    "çekoslovakyal";
rpm-build 0f2925
    "çekoslovakyala";
rpm-build 0f2925
    "çekoslovakyalaş";
rpm-build 0f2925
    "çekoslovakyalaşt";
rpm-build 0f2925
    "çekoslovakyalaştı";
rpm-build 0f2925
    "çekoslovakyalaştır";
rpm-build 0f2925
    "çekoslovakyalaştıra";
rpm-build 0f2925
    "çekoslovakyalaştıram";
rpm-build 0f2925
    "çekoslovakyalaştırama";
rpm-build 0f2925
    "çekoslovakyalaştıramad";
rpm-build 0f2925
    "çekoslovakyalaştıramadı";
rpm-build 0f2925
    "çekoslovakyalaştıramadık";
rpm-build 0f2925
    "çekoslovakyalaştıramadıkl";
rpm-build 0f2925
    "çekoslovakyalaştıramadıkla";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklar";
rpm-build 0f2925
    "çekoslovakyalaştıramadıkları";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarım";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımı";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımız";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızd";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızda";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdan";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanm";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmı";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmıs";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmısı";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmısın";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmısını";
rpm-build 0f2925
    "çekoslovakyalaştıramadıklarımızdanmısınız";
rpm-build 0f2925
  |]
rpm-build 0f2925
]
rpm-build 0f2925
rpm-build 0f2925
let test_substring () =
rpm-build 0f2925
  let test a =
rpm-build 0f2925
    let m = Array.length a - 1 in
rpm-build 0f2925
    let v = a.(m) in
rpm-build 0f2925
    assert(UTF8.length v = m);
rpm-build 0f2925
    for i = 0 to m do
rpm-build 0f2925
      assert(a.(i) = UTF8.substring v 0 i);
rpm-build 0f2925
    done;
rpm-build 0f2925
    for i = 0 to m - 1 do
rpm-build 0f2925
      for j = i to m - 1 do
rpm-build 0f2925
        let u = UTF8.substring v i (j - i + 1) in
rpm-build 0f2925
        UTF8.validate u
rpm-build 0f2925
      done
rpm-build 0f2925
    done
rpm-build 0f2925
  in
rpm-build 0f2925
  List.iter test substring_inputs
rpm-build 0f2925
rpm-build 0f2925
let () =
rpm-build 0f2925
  Util.register1 "UTF" "substring" test_substring