@@ -18,6 +18,21 @@ describe('URI Fragment Identifier (to/from)', function () {
1818 specify ( 'should return "#" for an empty JSON Pointer' , function ( ) {
1919 assert . strictEqual ( URIFragmentIdentifier . to ( '' ) , '#' ) ;
2020 } ) ;
21+
22+ specify ( 'should correctly convert JSON Pointer to URI Fragment (RFC 6901)' , function ( ) {
23+ assert . strictEqual ( URIFragmentIdentifier . to ( '' ) , '#' ) ;
24+ assert . strictEqual ( URIFragmentIdentifier . to ( '/foo' ) , '#/foo' ) ;
25+ assert . strictEqual ( URIFragmentIdentifier . to ( '/foo/0' ) , '#/foo/0' ) ;
26+ assert . strictEqual ( URIFragmentIdentifier . to ( '/' ) , '#/' ) ;
27+ assert . strictEqual ( URIFragmentIdentifier . to ( '/a~1b' ) , '#/a~1b' ) ;
28+ assert . strictEqual ( URIFragmentIdentifier . to ( '/c%d' ) , '#/c%25d' ) ;
29+ assert . strictEqual ( URIFragmentIdentifier . to ( '/e^f' ) , '#/e%5Ef' ) ;
30+ assert . strictEqual ( URIFragmentIdentifier . to ( '/g|h' ) , '#/g%7Ch' ) ;
31+ assert . strictEqual ( URIFragmentIdentifier . to ( '/i\\j' ) , '#/i%5Cj' ) ;
32+ assert . strictEqual ( URIFragmentIdentifier . to ( '/k"l' ) , '#/k%22l' ) ;
33+ assert . strictEqual ( URIFragmentIdentifier . to ( '/ ' ) , '#/%20' ) ;
34+ assert . strictEqual ( URIFragmentIdentifier . to ( '/m~0n' ) , '#/m~0n' ) ;
35+ } ) ;
2136 } ) ;
2237
2338 context ( 'from()' , function ( ) {
@@ -44,5 +59,23 @@ describe('URI Fragment Identifier (to/from)', function () {
4459 specify ( 'should return the original input if decoding fails' , function ( ) {
4560 assert . strictEqual ( URIFragmentIdentifier . from ( '%E3%81%' ) , '%E3%81%' ) ; // Malformed UTF-8 sequence
4661 } ) ;
62+
63+ specify (
64+ 'should correctly convert between JSON Pointer and URI Fragment (RFC 6901)' ,
65+ function ( ) {
66+ assert . strictEqual ( URIFragmentIdentifier . from ( '#' ) , '' ) ;
67+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/foo' ) , '/foo' ) ;
68+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/foo/0' ) , '/foo/0' ) ;
69+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/' ) , '/' ) ;
70+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/a~1b' ) , '/a~1b' ) ;
71+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/c%25d' ) , '/c%d' ) ;
72+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/e%5Ef' ) , '/e^f' ) ;
73+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/g%7Ch' ) , '/g|h' ) ;
74+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/i%5Cj' ) , '/i\\j' ) ;
75+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/k%22l' ) , '/k"l' ) ;
76+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/%20' ) , '/ ' ) ;
77+ assert . strictEqual ( URIFragmentIdentifier . from ( '#/m~0n' ) , '/m~0n' ) ;
78+ } ,
79+ ) ;
4780 } ) ;
4881} ) ;
0 commit comments