aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClombrong <cromblong@egregore.fun>2025-07-02 01:16:06 +0200
committerClombrong <cromblong@egregore.fun>2025-07-26 21:55:50 +0200
commit6a618526a0859b36f76889039bb8678610a9d1d3 (patch)
treec5e22e45f9317663df4b5ef384d674934de89147
parent5267e59dc1cb470a1b2ed169a5853273bce4af93 (diff)
test(jid): promote all examples
-rw-r--r--lib/jid.ml78
1 files changed, 65 insertions, 13 deletions
diff --git a/lib/jid.ml b/lib/jid.ml
index d2c7361..d9e59b9 100644
--- a/lib/jid.ml
+++ b/lib/jid.ml
@@ -78,43 +78,95 @@ let%expect_test {|A "full JID"|} =
resourcepart = Some "foo" } |}]
let%expect_test {|Single space in resourcepart|} =
- "juliet@example.com/foo bar" |> of_string |> show |> print_string
+ "juliet@example.com/foo bar" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "juliet";
+ domainpart = "example.com";
+ resourcepart = Some "foo bar" } |}]
let%expect_test {|"At" sign in resourcepart|} =
- "juliet@example.com/foo@bar" |> of_string |> show |> print_string
+ "juliet@example.com/foo@bar" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "juliet";
+ domainpart = "example.com";
+ resourcepart = Some "foo@bar" } |}]
let%expect_test {|Single space in localpart, as optionally escaped using the XMPP JID Escaping extension|} =
- "foo\\20bar@example.com" |> of_string |> show |> print_string
+ "foo\\20bar@example.com" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "foo\20bar";
+ domainpart = "example.com";
+ resourcepart = None } |}]
let%expect_test {|Another bare JID|} =
- "fussball@example.com" |> of_string |> show |> print_string
+ "fussball@example.com" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "fussball";
+ domainpart = "example.com";
+ resourcepart = None } |}]
let%expect_test {|The third character is LATIN SMALL LETTER SHARP S (U+00DF)|} =
- "fußball@example.com" |> of_string |> show |> print_string
+ "fußball@example.com" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "fußball";
+ domainpart = "example.com";
+ resourcepart = None } |}]
let%expect_test {|A localpart of GREEK SMALL LETTER PI (U+03C0)|} =
- "π@example.com" |> of_string |> show |> print_string
+ "π@example.com" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "π";
+ domainpart = "example.com";
+ resourcepart = None } |}]
let%expect_test {|A localpart of GREEK CAPITAL LETTER SIGMA (U+03A3)|} =
- "Σ@example.com/foo" |> of_string |> show |> print_string
+ "Σ@example.com/foo" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "Σ";
+ domainpart = "example.com";
+ resourcepart = Some "foo" } |}]
let%expect_test {|A localpart of GREEK SMALL LETTER SIGMA (U+03C3)|} =
- "σ@example.com/foo" |> of_string |> show |> print_string
+ "σ@example.com/foo" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "σ";
+ domainpart = "example.com";
+ resourcepart = Some "foo" } |}]
let%expect_test {|A localpart of GREEK SMALL LETTER FINAL SIGMA (U+03C2)|} =
- "ς@example.com/foo" |> of_string |> show |> print_string
+ "ς@example.com/foo" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "ς";
+ domainpart = "example.com";
+ resourcepart = Some "foo" } |}]
let%expect_test {|A resourcepart of the Unicode character BLACK CHESS KING (U+265A)|} =
- "king@example.com/♚" |> of_string |> show |> print_string
+ "king@example.com/♚" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = Some "king";
+ domainpart = "example.com";
+ resourcepart = Some "♚" } |}]
let%expect_test {|A domainpart|} =
- "example.com" |> of_string |> show |> print_string
+ "example.com" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = None;
+ domainpart = "example.com";
+ resourcepart = None } |}]
let%expect_test {|A domainpart and resourcepart|} =
- "example.com/foobar" |> of_string |> show |> print_string
+ "example.com/foobar" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = None;
+ domainpart = "example.com";
+ resourcepart = Some "foobar" } |}]
let%expect_test {|A domainpart followed by a resourcepart that contains an "at" sign|} =
- "a.example.com/b@example.net" |> of_string |> show |> print_string
+ "a.example.com/b@example.net" |> of_string |> show |> print_string;
+ [%expect {|
+ { localpart = None;
+ domainpart = "a.example.com";
+ resourcepart = Some "b@example.net" } |}]
let to_string ({ localpart; domainpart; resourcepart } : t) =