st_test.ml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. (*
  2. * _ _ ____ _
  3. * _| || |_/ ___| ___ _ __ _ __ ___ | |
  4. * |_ .. _\___ \ / _ \ '_ \| '_ \ / _ \| |
  5. * |_ _|___) | __/ |_) | |_) | (_) |_|
  6. * |_||_| |____/ \___| .__/| .__/ \___/(_)
  7. * |_| |_|
  8. *
  9. * Personal Social Web.
  10. *
  11. * Copyright (C) The #Seppo contributors. All rights reserved.
  12. *
  13. * This program is free software: you can redistribute it and/or modify
  14. * it under the terms of the GNU General Public License as published by
  15. * the Free Software Foundation, either version 3 of the License, or
  16. * (at your option) any later version.
  17. *
  18. * This program is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. * GNU General Public License for more details.
  22. *
  23. * You should have received a copy of the GNU General Public License
  24. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  25. *)
  26. open Seppo_lib
  27. let test_dirname () =
  28. "./foo/../bar/baz" |> Filename.dirname |> Assrt.equals_string __LOC__ "./foo/../bar"
  29. let test_updir () =
  30. "" |> St.updir |> Assrt.equals_string __LOC__ "";
  31. "foo" |> St.updir |> Assrt.equals_string __LOC__ "";
  32. "foo/" |> St.updir |> Assrt.equals_string __LOC__ "../";
  33. "/foo/" |> St.updir |> Assrt.equals_string __LOC__ "../";
  34. "foo/bar" |> St.updir |> Assrt.equals_string __LOC__ "../";
  35. "/foo" |> St.updir |> Assrt.equals_string __LOC__ "";
  36. "/foo/bar" |> St.updir |> Assrt.equals_string __LOC__ "../";
  37. "/foo/bar/" |> St.updir |> Assrt.equals_string __LOC__ "../../";
  38. "/.well-known/webfinger/.htaccess" |> St.updir |> Assrt.equals_string __LOC__ "../../";
  39. ".well-known/webfinger/.htaccess" |> St.updir |> Assrt.equals_string __LOC__ "../../"
  40. let test_before () =
  41. "uhu/index.xml"
  42. |> St.before ~suffix:"index.xml"
  43. |> Option.get
  44. |> Assrt.equals_string __LOC__ "uhu/"
  45. let test_window () =
  46. Logr.debug (fun m -> m "%s" "st_test.test_window");
  47. let tos l = l |> List.map Int.to_string |> String.concat "; " in
  48. let l0 = List.init 37 (fun i -> i) in
  49. l0 |> tos |> Assrt.equals_string __LOC__ "0; 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; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36";
  50. l0
  51. |> St.window ~page:2 ~size:4
  52. |> tos |> Assrt.equals_string __LOC__ "8; 9; 10; 11"
  53. let () =
  54. test_dirname ();
  55. test_updir ();
  56. test_before ();
  57. test_window ();