RFC6901 JSON Pointer implementation in OCaml using jsont
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at f5d950a47caf24c32eee03d06c496affe9f4202a 77 lines 2.3 kB view raw
1URI Fragment Encoding Tests (RFC 6901 Section 6) 2 3Roundtrip through URI fragment encoding: 4 $ ./test_pointer.exe uri-fragment "" 5 OK: -> 6 $ ./test_pointer.exe uri-fragment "/foo" 7 OK: /foo -> /foo 8 $ ./test_pointer.exe uri-fragment "/foo/0" 9 OK: /foo/0 -> /foo/0 10 $ ./test_pointer.exe uri-fragment "/" 11 OK: / -> / 12 $ ./test_pointer.exe uri-fragment "/a~1b" 13 OK: /a~1b -> /a~1b 14 $ ./test_pointer.exe uri-fragment "/m~0n" 15 OK: /m~0n -> /m~0n 16 17Characters requiring percent-encoding: 18 $ ./test_pointer.exe uri-fragment "/c%d" 19 OK: /c%d -> /c%25d 20 $ ./test_pointer.exe uri-fragment "/e^f" 21 OK: /e^f -> /e%5Ef 22 $ ./test_pointer.exe uri-fragment "/g|h" 23 OK: /g|h -> /g%7Ch 24 $ ./test_pointer.exe uri-fragment '/i\j' 25 OK: /i\j -> /i%5Cj 26 $ ./test_pointer.exe uri-fragment '/k"l' 27 OK: /k"l -> /k%22l 28 $ ./test_pointer.exe uri-fragment "/ " 29 OK: / -> /%20 30 31Roundtrip tests: 32 $ ./test_pointer.exe roundtrip "" 33 OK: 34 $ ./test_pointer.exe roundtrip "/foo" 35 OK: /foo 36 $ ./test_pointer.exe roundtrip "/foo/0" 37 OK: /foo/0 38 $ ./test_pointer.exe roundtrip "/" 39 OK: / 40 $ ./test_pointer.exe roundtrip "/a~1b" 41 OK: /a~1b 42 $ ./test_pointer.exe roundtrip "/m~0n" 43 OK: /m~0n 44 $ ./test_pointer.exe roundtrip "/-" 45 OK: /- 46 $ ./test_pointer.exe roundtrip "/a/b/c" 47 OK: /a/b/c 48 49RFC 6901 Section 6 examples (URI fragment encoding): 50Note: These test the full RFC 6901 Section 6 examples 51 $ ./test_pointer.exe uri-fragment "/c%d" 52 OK: /c%d -> /c%25d 53 $ ./test_pointer.exe uri-fragment "/e^f" 54 OK: /e^f -> /e%5Ef 55 $ ./test_pointer.exe uri-fragment "/g|h" 56 OK: /g|h -> /g%7Ch 57 $ ./test_pointer.exe uri-fragment '/i\j' 58 OK: /i\j -> /i%5Cj 59 $ ./test_pointer.exe uri-fragment '/k"l' 60 OK: /k"l -> /k%22l 61 $ ./test_pointer.exe uri-fragment "/ " 62 OK: / -> /%20 63 64Unicode in URI fragments: 65 $ ./test_pointer.exe uri-fragment "/café" 66 OK: /café -> /caf%C3%A9 67 $ ./test_pointer.exe uri-fragment "/日本語" 68 OK: /日本語 -> /%E6%97%A5%E6%9C%AC%E8%AA%9E 69 70Combined escapes (tilde escape + URI encode): 71Note: %25 in result is the URI encoding of %, and 100% is treated as member name 72 $ ./test_pointer.exe uri-fragment "/100%" 73 OK: /100% -> /100%25 74 75Multiple special chars: 76 $ ./test_pointer.exe uri-fragment "/a b^c|d" 77 OK: /a b^c|d -> /a%20b%5Ec%7Cd