From b1cf3bb867ee8855cf10addf27af73ca22bb2487 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Sat, 28 Mar 2026 21:31:10 -0500 Subject: [PATCH] Add vCard 4 RFC 6868 regression tests --- tests/tvcard4.nim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/tvcard4.nim b/tests/tvcard4.nim index 1fb8f6f..8c2adbe 100644 --- a/tests/tvcard4.nim +++ b/tests/tvcard4.nim @@ -236,6 +236,24 @@ suite "vcard/vcard4": label.len == 1 label[0].values == @["^top\nsecond line"] + test "spec: RFC 6868 unknown escapes pass through in unquoted parameter values": + let parsed = parseSingleVCard4(vcard4Doc( + "VERSION:4.0", + "FN;X-TEST=alpha^xbeta:John Smith")) + let param = parsed.fn[0].params --> find(it.name == "X-TEST") + check: + param.isSome + param.get.values == @["alpha^xbeta"] + + test "spec: RFC 6868 unknown escapes pass through in quoted parameter values": + let parsed = parseSingleVCard4(vcard4Doc( + "VERSION:4.0", + "FN;X-TEST=\"alpha^xbeta\":John Smith")) + let param = parsed.fn[0].params --> find(it.name == "X-TEST") + check: + param.isSome + param.get.values == @["alpha^xbeta"] + test "Data URIs are parsed correctly": let expectedB64 = readFile("tests/allen.foster.jpg.uri")