t_rfc7565.ml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. open Rfc7565
  28. let test_string' () =
  29. let u = "acct:alice@example.com" |> of_string |> Result.get_ok in
  30. let T u' = u in
  31. u' |> Uri.scheme |> Option.get |> Assrt.equals_string __LOC__ scheme;
  32. u' |> Uri.userinfo |> Option.get |> Assrt.equals_string __LOC__ "alice";
  33. u' |> Uri.host |> Option.get |> Assrt.equals_string __LOC__ "example.com";
  34. u |> to_string |> Assrt.equals_string __LOC__ "acct:alice@example.com";
  35. make ~local:"alice" ~domain:"example.com" ()
  36. |> to_string ~prefix:"@"
  37. |> Assrt.equals_string __LOC__ "@alice@example.com";
  38. Format.asprintf "%a" Rfc7565.pp_hum u
  39. |> Assrt.equals_string __LOC__ "@alice@example.com";
  40. assert true
  41. let () =
  42. Unix.chdir "../../../test/";
  43. test_string' ();
  44. assert true