1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.serializer;
18
19 import static org.apache.juneau.common.utils.Utils.*;
20 import static org.junit.jupiter.api.Assertions.*;
21
22 import java.util.*;
23
24 import org.apache.juneau.*;
25 import org.apache.juneau.html.*;
26 import org.apache.juneau.json.*;
27 import org.apache.juneau.msgpack.*;
28 import org.apache.juneau.parser.*;
29 import org.apache.juneau.uon.*;
30 import org.apache.juneau.urlencoding.*;
31 import org.apache.juneau.xml.*;
32 import org.junit.jupiter.params.*;
33 import org.junit.jupiter.params.provider.*;
34
35
36
37
38 class UriResolution_Test extends TestBase {
39
40 private static class Tester {
41 final String label;
42 final Input input;
43 final Results results;
44
45 Tester(String label, Input input, Results results) {
46 this.label = label;
47 this.input = input;
48 this.results = results;
49 }
50
51 void testSerialize(Serializer s, String expected, Object testBean) throws Exception {
52 try {
53 var r = s.serializeToString(testBean);
54
55
56 if (expected.equals("xxx")) {
57 System.out.println(label + "/" + s.getClass().getSimpleName() + "=\n" + r.replaceAll("\t", "\\\\t").replaceAll("\\\\", "\\\\\\\\").replaceAll("\\\"", "\\\\\\\"").replaceAll("\n", "\\\\n"));
58 System.out.println(r);
59 }
60
61 assertEquals(expected, r, fms("{0}/{1} serialize-normal failed", label, s.getClass().getSimpleName()));
62
63 } catch (AssertionError e) {
64 throw e;
65 } catch (Exception e) {
66 e.printStackTrace();
67 throw new AssertionError(label + "/" + s.getClass().getSimpleName() + " failed. exception=" + e.getLocalizedMessage());
68 }
69 }
70
71 void testParse(Serializer s, Parser p, Object testBean) throws Exception {
72 try {
73 var r = s.serializeToString(testBean);
74
75 var m = p.parse(r, TreeMap.class, String.class, String.class);
76
77 var r2 = Json5Serializer.DEFAULT.toString(m);
78 assertEquals(r2, results.json, fms("{0}/{1} parse failed", label, s.getClass().getSimpleName()));
79
80 } catch (AssertionError e) {
81 throw e;
82 } catch (Exception e) {
83 e.printStackTrace();
84 throw new AssertionError(label + "/" + s.getClass().getSimpleName() + " failed. exception=" + e.getLocalizedMessage());
85 }
86 }
87 }
88
89 private static class Input {
90 final UriContext context;
91 final UriResolution resolution;
92 final UriRelativity relativity;
93
94 Input(UriResolution resolution, UriRelativity relativity, String authority, String context, String resource, String path) {
95 this.resolution = resolution;
96 this.relativity = relativity;
97 this.context = UriContext.of(authority, context, resource, path);
98 }
99 }
100
101 private static Input input(UriResolution uriResolution, UriRelativity uriRelativity, String authority, String context, String resource, String path) {
102 return new Input(uriResolution, uriRelativity, authority, context, resource, path);
103 }
104
105
106
107
108 private static class Results {
109 final String json, xml, html, uon, urlEncoding, msgPack;
110
111 Results(String json, String xml, String html, String uon, String urlEncoding, String msgPack, String rdfXml) {
112 this.json = json;
113 this.xml = xml;
114 this.html = html;
115 this.uon = uon;
116 this.urlEncoding = urlEncoding;
117 this.msgPack = msgPack;
118 }
119 }
120
121 private static Results results(String json, String xml, String html, String uon, String urlEncoding, String msgPack, String rdfXml) {
122 return new Results(json, xml, html, uon, urlEncoding, msgPack, rdfXml);
123 }
124
125 private static Tester tester(String label, Input input, Results results) {
126 return new Tester(label, input, results);
127 }
128
129 private static final Tester[] TESTERS = {
130
131
132 tester(
133 "Happy-1-ABSOLUTE",
134 input(
135 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource","/path"
136 ),
137 results(
138 "{f0:'http://foo.com:123/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/context/resource/f1d',f1e:'http://foo.com:123/context/resource/f1e/x/y',f1f:'http://foo.com:123/context/resource',f1g:'http://foo.com:123/context/resource/f1g/x',f1h:'http://foo.com:123/context/resource/f1h',f1i:'http://foo.com:123/context/resource',f1j:'http://foo.com:123/context',f1k:'http://foo.com:123/context/f1j/x',f1l:'http://foo.com:123/context/f1k',f1m:'http://foo.com:123/context',f1n:'http://foo.com:123',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/context/resource/f2d',f2e:'http://foo.com:123/context/resource/f2e/x/y',f2f:'http://foo.com:123/context/resource',f2g:'http://foo.com:123/context/resource/f2g/x',f2h:'http://foo.com:123/context/resource/f2h',f2i:'http://foo.com:123/context/resource',f2j:'http://foo.com:123/context',f2k:'http://foo.com:123/context/f2j/x',f2l:'http://foo.com:123/context/f2k',f2m:'http://foo.com:123/context',f2n:'http://foo.com:123',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/context/resource/%3C%3E%26%27%22',f3c:'http://foo.com:123/context/resource/<>&\\'\"',f4:'http://foo.com:123/context/resource/test/uri/b',f5:'http://foo.com:123/context/resource/f5/x'}",
139 "<object f0='http://foo.com:123/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/context/resource/f1d</f1d><f1e>http://foo.com:123/context/resource/f1e/x/y</f1e><f1f>http://foo.com:123/context/resource</f1f><f1g>http://foo.com:123/context/resource/f1g/x</f1g><f1h>http://foo.com:123/context/resource/f1h</f1h><f1i>http://foo.com:123/context/resource</f1i><f1j>http://foo.com:123/context</f1j><f1k>http://foo.com:123/context/f1j/x</f1k><f1l>http://foo.com:123/context/f1k</f1l><f1m>http://foo.com:123/context</f1m><f1n>http://foo.com:123</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/context/resource/f2d</f2d><f2e>http://foo.com:123/context/resource/f2e/x/y</f2e><f2f>http://foo.com:123/context/resource</f2f><f2g>http://foo.com:123/context/resource/f2g/x</f2g><f2h>http://foo.com:123/context/resource/f2h</f2h><f2i>http://foo.com:123/context/resource</f2i><f2j>http://foo.com:123/context</f2j><f2k>http://foo.com:123/context/f2j/x</f2k><f2l>http://foo.com:123/context/f2k</f2l><f2m>http://foo.com:123/context</f2m><f2n>http://foo.com:123</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/context/resource/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/context/resource/<>&'\"</f3c><f4>http://foo.com:123/context/resource/test/uri/b</f4><f5>http://foo.com:123/context/resource/f5/x</f5></object>",
140 "<table><tr><td>f0</td><td><a href='http://foo.com:123/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/context/resource/f5/x'>x</a></td></tr></table>",
141 "(f0=http://foo.com:123/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/context/resource/f1d,f1e=http://foo.com:123/context/resource/f1e/x/y,f1f=http://foo.com:123/context/resource,f1g=http://foo.com:123/context/resource/f1g/x,f1h=http://foo.com:123/context/resource/f1h,f1i=http://foo.com:123/context/resource,f1j=http://foo.com:123/context,f1k=http://foo.com:123/context/f1j/x,f1l=http://foo.com:123/context/f1k,f1m=http://foo.com:123/context,f1n=http://foo.com:123,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/context/resource/f2d,f2e=http://foo.com:123/context/resource/f2e/x/y,f2f=http://foo.com:123/context/resource,f2g=http://foo.com:123/context/resource/f2g/x,f2h=http://foo.com:123/context/resource/f2h,f2i=http://foo.com:123/context/resource,f2j=http://foo.com:123/context,f2k=http://foo.com:123/context/f2j/x,f2l=http://foo.com:123/context/f2k,f2m=http://foo.com:123/context,f2n=http://foo.com:123,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/context/resource/%3C%3E%26%27%22,f3c=http://foo.com:123/context/resource/<>&~'\",f4=http://foo.com:123/context/resource/test/uri/b,f5=http://foo.com:123/context/resource/f5/x)",
142 "f0=http://foo.com:123/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/context/resource/f1d&f1e=http://foo.com:123/context/resource/f1e/x/y&f1f=http://foo.com:123/context/resource&f1g=http://foo.com:123/context/resource/f1g/x&f1h=http://foo.com:123/context/resource/f1h&f1i=http://foo.com:123/context/resource&f1j=http://foo.com:123/context&f1k=http://foo.com:123/context/f1j/x&f1l=http://foo.com:123/context/f1k&f1m=http://foo.com:123/context&f1n=http://foo.com:123&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/context/resource/f2d&f2e=http://foo.com:123/context/resource/f2e/x/y&f2f=http://foo.com:123/context/resource&f2g=http://foo.com:123/context/resource/f2g/x&f2h=http://foo.com:123/context/resource/f2h&f2i=http://foo.com:123/context/resource&f2j=http://foo.com:123/context&f2k=http://foo.com:123/context/f2j/x&f2l=http://foo.com:123/context/f2k&f2m=http://foo.com:123/context&f2n=http://foo.com:123&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/context/resource/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/context/resource/%3C%3E%26~'%22&f4=http://foo.com:123/context/resource/test/uri/b&f5=http://foo.com:123/context/resource/f5/x",
143 "DE0022A26630D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663164A3663165D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631652F782F79A3663166D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663167D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631672F78A3663168D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663168A3663169D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366316ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316A2F78A366316CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316BA366316DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316EB2687474703A2F2F666F6F2E636F6D3A313233A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663264A3663265D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632652F782F79A3663266D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663267D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632672F78A3663268D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663268A3663269D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366326ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326A2F78A366326CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326BA366326DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326EB2687474703A2F2F666F6F2E636F6D3A313233A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D933687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F3C3E262722A26634D92E687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F746573742F7572692F62A26635D928687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66352F78",
144 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/resource/f0/x0'>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/resource/f1g/x'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f2i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/resource/f5/x'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/resource/test/uri/b'/>\n<jp:f1f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/resource/f2d'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/resource/f1e/x/y'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/resource/f2e/x/y'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2j rdf:resource='http://foo.com:123/context'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/resource/f2h'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/resource/f1h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1j rdf:resource='http://foo.com:123/context'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/resource/f2g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/resource/f1d'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/resource/<>&'"'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource='http://foo.com:123/context/resource/%3C%3E%26%27%22'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n</rdf:Description>\n</rdf:RDF>\n"
145 )
146 ),
147 tester(
148 "Happy-1-ROOT_RELATIVE",
149 input(
150 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource","/path"
151 ),
152 results(
153 "{f0:'/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/context/resource/f1d',f1e:'/context/resource/f1e/x/y',f1f:'/context/resource',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/context/resource/f2d',f2e:'/context/resource/f2e/x/y',f2f:'/context/resource',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/context/resource/%3C%3E%26%27%22',f3c:'/context/resource/<>&\\'\"',f4:'/context/resource/test/uri/b',f5:'/context/resource/f5/x'}",
154 "<object f0='/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/context/resource/f1d</f1d><f1e>/context/resource/f1e/x/y</f1e><f1f>/context/resource</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/context/resource/f2d</f2d><f2e>/context/resource/f2e/x/y</f2e><f2f>/context/resource</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/context/resource/%3C%3E%26%27%22</f3b><f3c>/context/resource/<>&'\"</f3c><f4>/context/resource/test/uri/b</f4><f5>/context/resource/f5/x</f5></object>",
155 "<table><tr><td>f0</td><td><a href='/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/context/resource/f5/x'>x</a></td></tr></table>",
156 "(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
157 "f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
158 "DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
159 "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
160 )
161 ),
162 tester(
163 "Happy-1-NONE",
164 input(
165 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource","/path"
166 ),
167 results(
168 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
169 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
170 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
171 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
172 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
173 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
174 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2f></jp:f2f>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f2j>/context</jp:f2j>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1j>/context</jp:f1j>\n<jp:f1f></jp:f1f>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n</rdf:Description>\n</rdf:RDF>\n"
175 )
176 ),
177 tester(
178 "Happy-2-ABSOLUTE",
179 input(
180 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","/c1/c2","/r1/r2","/p1/p2"
181 ),
182 results(
183 "{f0:'http://foo.com:123/c1/c2/r1/r2/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/c1/c2/r1/r2/f1d',f1e:'http://foo.com:123/c1/c2/r1/r2/f1e/x/y',f1f:'http://foo.com:123/c1/c2/r1/r2',f1g:'http://foo.com:123/c1/c2/r1/r2/f1g/x',f1h:'http://foo.com:123/c1/c2/r1/r2/f1h',f1i:'http://foo.com:123/c1/c2/r1/r2',f1j:'http://foo.com:123/c1/c2/r1',f1k:'http://foo.com:123/c1/c2/f1j/x',f1l:'http://foo.com:123/c1/c2/f1k',f1m:'http://foo.com:123/c1/c2',f1n:'http://foo.com:123/c1',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/c1/c2/r1/r2/f2d',f2e:'http://foo.com:123/c1/c2/r1/r2/f2e/x/y',f2f:'http://foo.com:123/c1/c2/r1/r2',f2g:'http://foo.com:123/c1/c2/r1/r2/f2g/x',f2h:'http://foo.com:123/c1/c2/r1/r2/f2h',f2i:'http://foo.com:123/c1/c2/r1/r2',f2j:'http://foo.com:123/c1/c2/r1',f2k:'http://foo.com:123/c1/c2/f2j/x',f2l:'http://foo.com:123/c1/c2/f2k',f2m:'http://foo.com:123/c1/c2',f2n:'http://foo.com:123/c1',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22',f3c:'http://foo.com:123/c1/c2/r1/r2/<>&\\'\"',f4:'http://foo.com:123/c1/c2/r1/r2/test/uri/b',f5:'http://foo.com:123/c1/c2/r1/r2/f5/x'}",
184 "<object f0='http://foo.com:123/c1/c2/r1/r2/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/c1/c2/r1/r2/f1d</f1d><f1e>http://foo.com:123/c1/c2/r1/r2/f1e/x/y</f1e><f1f>http://foo.com:123/c1/c2/r1/r2</f1f><f1g>http://foo.com:123/c1/c2/r1/r2/f1g/x</f1g><f1h>http://foo.com:123/c1/c2/r1/r2/f1h</f1h><f1i>http://foo.com:123/c1/c2/r1/r2</f1i><f1j>http://foo.com:123/c1/c2/r1</f1j><f1k>http://foo.com:123/c1/c2/f1j/x</f1k><f1l>http://foo.com:123/c1/c2/f1k</f1l><f1m>http://foo.com:123/c1/c2</f1m><f1n>http://foo.com:123/c1</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/c1/c2/r1/r2/f2d</f2d><f2e>http://foo.com:123/c1/c2/r1/r2/f2e/x/y</f2e><f2f>http://foo.com:123/c1/c2/r1/r2</f2f><f2g>http://foo.com:123/c1/c2/r1/r2/f2g/x</f2g><f2h>http://foo.com:123/c1/c2/r1/r2/f2h</f2h><f2i>http://foo.com:123/c1/c2/r1/r2</f2i><f2j>http://foo.com:123/c1/c2/r1</f2j><f2k>http://foo.com:123/c1/c2/f2j/x</f2k><f2l>http://foo.com:123/c1/c2/f2k</f2l><f2m>http://foo.com:123/c1/c2</f2m><f2n>http://foo.com:123/c1</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/c1/c2/r1/r2/<>&'\"</f3c><f4>http://foo.com:123/c1/c2/r1/r2/test/uri/b</f4><f5>http://foo.com:123/c1/c2/r1/r2/f5/x</f5></object>",
185 "<table><tr><td>f0</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123/c1/c2/r1'>r1</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/c1/c2/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/c1/c2/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123/c1/c2'>c2</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123/c1'>c1</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123/c1/c2/r1'>r1</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/c1/c2/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/c1/c2/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123/c1/c2'>c2</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123/c1'>c1</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/c1/c2/r1/r2/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/c1/c2/r1/r2/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/c1/c2/r1/r2/f5/x'>x</a></td></tr></table>",
186 "(f0=http://foo.com:123/c1/c2/r1/r2/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/c1/c2/r1/r2/f1d,f1e=http://foo.com:123/c1/c2/r1/r2/f1e/x/y,f1f=http://foo.com:123/c1/c2/r1/r2,f1g=http://foo.com:123/c1/c2/r1/r2/f1g/x,f1h=http://foo.com:123/c1/c2/r1/r2/f1h,f1i=http://foo.com:123/c1/c2/r1/r2,f1j=http://foo.com:123/c1/c2/r1,f1k=http://foo.com:123/c1/c2/f1j/x,f1l=http://foo.com:123/c1/c2/f1k,f1m=http://foo.com:123/c1/c2,f1n=http://foo.com:123/c1,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/c1/c2/r1/r2/f2d,f2e=http://foo.com:123/c1/c2/r1/r2/f2e/x/y,f2f=http://foo.com:123/c1/c2/r1/r2,f2g=http://foo.com:123/c1/c2/r1/r2/f2g/x,f2h=http://foo.com:123/c1/c2/r1/r2/f2h,f2i=http://foo.com:123/c1/c2/r1/r2,f2j=http://foo.com:123/c1/c2/r1,f2k=http://foo.com:123/c1/c2/f2j/x,f2l=http://foo.com:123/c1/c2/f2k,f2m=http://foo.com:123/c1/c2,f2n=http://foo.com:123/c1,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22,f3c=http://foo.com:123/c1/c2/r1/r2/<>&~'\",f4=http://foo.com:123/c1/c2/r1/r2/test/uri/b,f5=http://foo.com:123/c1/c2/r1/r2/f5/x)",
187 "f0=http://foo.com:123/c1/c2/r1/r2/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/c1/c2/r1/r2/f1d&f1e=http://foo.com:123/c1/c2/r1/r2/f1e/x/y&f1f=http://foo.com:123/c1/c2/r1/r2&f1g=http://foo.com:123/c1/c2/r1/r2/f1g/x&f1h=http://foo.com:123/c1/c2/r1/r2/f1h&f1i=http://foo.com:123/c1/c2/r1/r2&f1j=http://foo.com:123/c1/c2/r1&f1k=http://foo.com:123/c1/c2/f1j/x&f1l=http://foo.com:123/c1/c2/f1k&f1m=http://foo.com:123/c1/c2&f1n=http://foo.com:123/c1&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/c1/c2/r1/r2/f2d&f2e=http://foo.com:123/c1/c2/r1/r2/f2e/x/y&f2f=http://foo.com:123/c1/c2/r1/r2&f2g=http://foo.com:123/c1/c2/r1/r2/f2g/x&f2h=http://foo.com:123/c1/c2/r1/r2/f2h&f2i=http://foo.com:123/c1/c2/r1/r2&f2j=http://foo.com:123/c1/c2/r1&f2k=http://foo.com:123/c1/c2/f2j/x&f2l=http://foo.com:123/c1/c2/f2k&f2m=http://foo.com:123/c1/c2&f2n=http://foo.com:123/c1&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/c1/c2/r1/r2/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/c1/c2/r1/r2/%3C%3E%26~'%22&f4=http://foo.com:123/c1/c2/r1/r2/test/uri/b&f5=http://foo.com:123/c1/c2/r1/r2/f5/x",
188 "DE0022A26630D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663164A3663165D926687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6631652F782F79A3663166BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A3663167D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6631672F78A3663168D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663168A3663169BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A366316ABB687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F7231A366316BBE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66316A2F78A366316CBC687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66316BA366316DB8687474703A2F2F666F6F2E636F6D3A3132332F63312F6332A366316EB5687474703A2F2F666F6F2E636F6D3A3132332F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663264A3663265D926687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6632652F782F79A3663266BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A3663267D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6632672F78A3663268D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663268A3663269BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A366326ABB687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F7231A366326BBE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66326A2F78A366326CBC687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66326BA366326DB8687474703A2F2F666F6F2E636F6D3A3132332F63312F6332A366326EB5687474703A2F2F666F6F2E636F6D3A3132332F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D92E687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F253343253345253236253237253232A3663363D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F3C3E262722A26634D929687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F746573742F7572692F62A26635D923687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F66352F78",
189 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/c1/c2/r1/r2/f0/x0'>\n<jp:f2m rdf:resource='http://foo.com:123/c1/c2'/>\n<jp:f1n rdf:resource='http://foo.com:123/c1'/>\n<jp:f2e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1j rdf:resource='http://foo.com:123/c1/c2/r1'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1l rdf:resource='http://foo.com:123/c1/c2/f1k'/>\n<jp:f1k rdf:resource='http://foo.com:123/c1/c2/f1j/x'/>\n<jp:f3b rdf:resource='http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22'/>\n<jp:f1e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1e/x/y'/>\n<jp:f2n rdf:resource='http://foo.com:123/c1'/>\n<jp:f2k rdf:resource='http://foo.com:123/c1/c2/f2j/x'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f1i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1g/x'/>\n<jp:f2i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1h'/>\n<jp:f2f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1d'/>\n<jp:f2d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2d'/>\n<jp:f4 rdf:resource='http://foo.com:123/c1/c2/r1/r2/test/uri/b'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f5 rdf:resource='http://foo.com:123/c1/c2/r1/r2/f5/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2h'/>\n<jp:f2l rdf:resource='http://foo.com:123/c1/c2/f2k'/>\n<jp:f3c rdf:resource='http://foo.com:123/c1/c2/r1/r2/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2g/x'/>\n<jp:f1m rdf:resource='http://foo.com:123/c1/c2'/>\n<jp:f2j rdf:resource='http://foo.com:123/c1/c2/r1'/>\n</rdf:Description>\n</rdf:RDF>\n"
190 )
191 ),
192 tester(
193 "Happy-2-ROOT_RELATIVE",
194 input(
195 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","/c1/c2","/r1/r2","/p1/p2"
196 ),
197 results(
198 "{f0:'/c1/c2/r1/r2/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/c1/c2/r1/r2/f1d',f1e:'/c1/c2/r1/r2/f1e/x/y',f1f:'/c1/c2/r1/r2',f1g:'/c1/c2/r1/r2/f1g/x',f1h:'/c1/c2/r1/r2/f1h',f1i:'/c1/c2/r1/r2',f1j:'/c1/c2/r1',f1k:'/c1/c2/f1j/x',f1l:'/c1/c2/f1k',f1m:'/c1/c2',f1n:'/c1',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/c1/c2/r1/r2/f2d',f2e:'/c1/c2/r1/r2/f2e/x/y',f2f:'/c1/c2/r1/r2',f2g:'/c1/c2/r1/r2/f2g/x',f2h:'/c1/c2/r1/r2/f2h',f2i:'/c1/c2/r1/r2',f2j:'/c1/c2/r1',f2k:'/c1/c2/f2j/x',f2l:'/c1/c2/f2k',f2m:'/c1/c2',f2n:'/c1',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/c1/c2/r1/r2/%3C%3E%26%27%22',f3c:'/c1/c2/r1/r2/<>&\\'\"',f4:'/c1/c2/r1/r2/test/uri/b',f5:'/c1/c2/r1/r2/f5/x'}",
199 "<object f0='/c1/c2/r1/r2/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/c1/c2/r1/r2/f1d</f1d><f1e>/c1/c2/r1/r2/f1e/x/y</f1e><f1f>/c1/c2/r1/r2</f1f><f1g>/c1/c2/r1/r2/f1g/x</f1g><f1h>/c1/c2/r1/r2/f1h</f1h><f1i>/c1/c2/r1/r2</f1i><f1j>/c1/c2/r1</f1j><f1k>/c1/c2/f1j/x</f1k><f1l>/c1/c2/f1k</f1l><f1m>/c1/c2</f1m><f1n>/c1</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/c1/c2/r1/r2/f2d</f2d><f2e>/c1/c2/r1/r2/f2e/x/y</f2e><f2f>/c1/c2/r1/r2</f2f><f2g>/c1/c2/r1/r2/f2g/x</f2g><f2h>/c1/c2/r1/r2/f2h</f2h><f2i>/c1/c2/r1/r2</f2i><f2j>/c1/c2/r1</f2j><f2k>/c1/c2/f2j/x</f2k><f2l>/c1/c2/f2k</f2l><f2m>/c1/c2</f2m><f2n>/c1</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/c1/c2/r1/r2/%3C%3E%26%27%22</f3b><f3c>/c1/c2/r1/r2/<>&'\"</f3c><f4>/c1/c2/r1/r2/test/uri/b</f4><f5>/c1/c2/r1/r2/f5/x</f5></object>",
200 "<table><tr><td>f0</td><td><a href='/c1/c2/r1/r2/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/c1/c2/r1/r2/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/c1/c2/r1/r2/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f1g</td><td><a href='/c1/c2/r1/r2/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/c1/c2/r1/r2/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f1j</td><td><a href='/c1/c2/r1'>r1</a></td></tr><tr><td>f1k</td><td><a href='/c1/c2/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/c1/c2/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/c1/c2'>c2</a></td></tr><tr><td>f1n</td><td><a href='/c1'>c1</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/c1/c2/r1/r2/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/c1/c2/r1/r2/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f2g</td><td><a href='/c1/c2/r1/r2/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/c1/c2/r1/r2/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f2j</td><td><a href='/c1/c2/r1'>r1</a></td></tr><tr><td>f2k</td><td><a href='/c1/c2/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/c1/c2/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/c1/c2'>c2</a></td></tr><tr><td>f2n</td><td><a href='/c1'>c1</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/c1/c2/r1/r2/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/c1/c2/r1/r2/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/c1/c2/r1/r2/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/c1/c2/r1/r2/f5/x'>x</a></td></tr></table>",
201 "(f0=/c1/c2/r1/r2/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/c1/c2/r1/r2/f1d,f1e=/c1/c2/r1/r2/f1e/x/y,f1f=/c1/c2/r1/r2,f1g=/c1/c2/r1/r2/f1g/x,f1h=/c1/c2/r1/r2/f1h,f1i=/c1/c2/r1/r2,f1j=/c1/c2/r1,f1k=/c1/c2/f1j/x,f1l=/c1/c2/f1k,f1m=/c1/c2,f1n=/c1,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/c1/c2/r1/r2/f2d,f2e=/c1/c2/r1/r2/f2e/x/y,f2f=/c1/c2/r1/r2,f2g=/c1/c2/r1/r2/f2g/x,f2h=/c1/c2/r1/r2/f2h,f2i=/c1/c2/r1/r2,f2j=/c1/c2/r1,f2k=/c1/c2/f2j/x,f2l=/c1/c2/f2k,f2m=/c1/c2,f2n=/c1,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/c1/c2/r1/r2/%3C%3E%26%27%22,f3c=/c1/c2/r1/r2/<>&~'\",f4=/c1/c2/r1/r2/test/uri/b,f5=/c1/c2/r1/r2/f5/x)",
202 "f0=/c1/c2/r1/r2/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/c1/c2/r1/r2/f1d&f1e=/c1/c2/r1/r2/f1e/x/y&f1f=/c1/c2/r1/r2&f1g=/c1/c2/r1/r2/f1g/x&f1h=/c1/c2/r1/r2/f1h&f1i=/c1/c2/r1/r2&f1j=/c1/c2/r1&f1k=/c1/c2/f1j/x&f1l=/c1/c2/f1k&f1m=/c1/c2&f1n=/c1&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/c1/c2/r1/r2/f2d&f2e=/c1/c2/r1/r2/f2e/x/y&f2f=/c1/c2/r1/r2&f2g=/c1/c2/r1/r2/f2g/x&f2h=/c1/c2/r1/r2/f2h&f2i=/c1/c2/r1/r2&f2j=/c1/c2/r1&f2k=/c1/c2/f2j/x&f2l=/c1/c2/f2k&f2m=/c1/c2&f2n=/c1&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/c1/c2/r1/r2/%253C%253E%2526%2527%2522&f3c=/c1/c2/r1/r2/%3C%3E%26~'%22&f4=/c1/c2/r1/r2/test/uri/b&f5=/c1/c2/r1/r2/f5/x",
203 "DE0022A26630B22F63312F63322F72312F72322F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B02F63312F63322F72312F72322F663164A3663165B42F63312F63322F72312F72322F6631652F782F79A3663166AC2F63312F63322F72312F7232A3663167B22F63312F63322F72312F72322F6631672F78A3663168B02F63312F63322F72312F72322F663168A3663169AC2F63312F63322F72312F7232A366316AA92F63312F63322F7231A366316BAC2F63312F63322F66316A2F78A366316CAA2F63312F63322F66316BA366316DA62F63312F6332A366316EA32F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B02F63312F63322F72312F72322F663264A3663265B42F63312F63322F72312F72322F6632652F782F79A3663266AC2F63312F63322F72312F7232A3663267B22F63312F63322F72312F72322F6632672F78A3663268B02F63312F63322F72312F72322F663268A3663269AC2F63312F63322F72312F7232A366326AA92F63312F63322F7231A366326BAC2F63312F63322F66326A2F78A366326CAA2F63312F63322F66326BA366326DA62F63312F6332A366326EA32F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362BC2F63312F63322F72312F72322F253343253345253236253237253232A3663363B22F63312F63322F72312F72322F3C3E262722A26634B72F63312F63322F72312F72322F746573742F7572692F62A26635B12F63312F63322F72312F72322F66352F78",
204 "<rdf:RDF>\n<rdf:Description rdf:about='/c1/c2/r1/r2/f0/x0'>\n<jp:f2j>/c1/c2/r1</jp:f2j>\n<jp:f2l>/c1/c2/f2k</jp:f2l>\n<jp:f2m>/c1/c2</jp:f2m>\n<jp:f1i>/c1/c2/r1/r2</jp:f1i>\n<jp:f2h>/c1/c2/r1/r2/f2h</jp:f2h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1e>/c1/c2/r1/r2/f1e/x/y</jp:f1e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f2d>/c1/c2/r1/r2/f2d</jp:f2d>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1l>/c1/c2/f1k</jp:f1l>\n<jp:f3c>/c1/c2/r1/r2/<>&''</jp:f3c>\n<jp:f1d>/c1/c2/r1/r2/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/c1/c2/r1/r2</jp:f1f>\n<jp:f2g>/c1/c2/r1/r2/f2g/x</jp:f2g>\n<jp:f5>/c1/c2/r1/r2/f5/x</jp:f5>\n<jp:f3b>/c1/c2/r1/r2/%3C%3E%26%27%22</jp:f3b>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2i>/c1/c2/r1/r2</jp:f2i>\n<jp:f1n>/c1</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1h>/c1/c2/r1/r2/f1h</jp:f1h>\n<jp:f4>/c1/c2/r1/r2/test/uri/b</jp:f4>\n<jp:f1j>/c1/c2/r1</jp:f1j>\n<jp:f2f>/c1/c2/r1/r2</jp:f2f>\n<jp:f2n>/c1</jp:f2n>\n<jp:f2k>/c1/c2/f2j/x</jp:f2k>\n<jp:f1m>/c1/c2</jp:f1m>\n<jp:f2e>/c1/c2/r1/r2/f2e/x/y</jp:f2e>\n<jp:f1g>/c1/c2/r1/r2/f1g/x</jp:f1g>\n<jp:f1k>/c1/c2/f1j/x</jp:f1k>\n<jp:f2b>/f2b</jp:f2b>\n</rdf:Description>\n</rdf:RDF>\n"
205 )
206 ),
207 tester(
208 "Happy-2-NONE",
209 input(
210 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","/c1/c2","/r1/r2","/p1/p2"
211 ),
212 results(
213 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/c1/c2/r1/r2/f1g/x',f1h:'/c1/c2/r1/r2/f1h',f1i:'/c1/c2/r1/r2',f1j:'/c1/c2/r1',f1k:'/c1/c2/f1j/x',f1l:'/c1/c2/f1k',f1m:'/c1/c2',f1n:'/c1',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/c1/c2/r1/r2/f2g/x',f2h:'/c1/c2/r1/r2/f2h',f2i:'/c1/c2/r1/r2',f2j:'/c1/c2/r1',f2k:'/c1/c2/f2j/x',f2l:'/c1/c2/f2k',f2m:'/c1/c2',f2n:'/c1',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
214 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/c1/c2/r1/r2/f1g/x</f1g><f1h>/c1/c2/r1/r2/f1h</f1h><f1i>/c1/c2/r1/r2</f1i><f1j>/c1/c2/r1</f1j><f1k>/c1/c2/f1j/x</f1k><f1l>/c1/c2/f1k</f1l><f1m>/c1/c2</f1m><f1n>/c1</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/c1/c2/r1/r2/f2g/x</f2g><f2h>/c1/c2/r1/r2/f2h</f2h><f2i>/c1/c2/r1/r2</f2i><f2j>/c1/c2/r1</f2j><f2k>/c1/c2/f2j/x</f2k><f2l>/c1/c2/f2k</f2l><f2m>/c1/c2</f2m><f2n>/c1</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
215 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/c1/c2/r1/r2/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/c1/c2/r1/r2/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f1j</td><td><a href='/c1/c2/r1'>r1</a></td></tr><tr><td>f1k</td><td><a href='/c1/c2/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/c1/c2/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/c1/c2'>c2</a></td></tr><tr><td>f1n</td><td><a href='/c1'>c1</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/c1/c2/r1/r2/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/c1/c2/r1/r2/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/c1/c2/r1/r2'>r2</a></td></tr><tr><td>f2j</td><td><a href='/c1/c2/r1'>r1</a></td></tr><tr><td>f2k</td><td><a href='/c1/c2/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/c1/c2/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/c1/c2'>c2</a></td></tr><tr><td>f2n</td><td><a href='/c1'>c1</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
216 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/c1/c2/r1/r2/f1g/x,f1h=/c1/c2/r1/r2/f1h,f1i=/c1/c2/r1/r2,f1j=/c1/c2/r1,f1k=/c1/c2/f1j/x,f1l=/c1/c2/f1k,f1m=/c1/c2,f1n=/c1,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/c1/c2/r1/r2/f2g/x,f2h=/c1/c2/r1/r2/f2h,f2i=/c1/c2/r1/r2,f2j=/c1/c2/r1,f2k=/c1/c2/f2j/x,f2l=/c1/c2/f2k,f2m=/c1/c2,f2n=/c1,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
217 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/c1/c2/r1/r2/f1g/x&f1h=/c1/c2/r1/r2/f1h&f1i=/c1/c2/r1/r2&f1j=/c1/c2/r1&f1k=/c1/c2/f1j/x&f1l=/c1/c2/f1k&f1m=/c1/c2&f1n=/c1&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/c1/c2/r1/r2/f2g/x&f2h=/c1/c2/r1/r2/f2h&f2i=/c1/c2/r1/r2&f2j=/c1/c2/r1&f2k=/c1/c2/f2j/x&f2l=/c1/c2/f2k&f2m=/c1/c2&f2n=/c1&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
218 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B22F63312F63322F72312F72322F6631672F78A3663168B02F63312F63322F72312F72322F663168A3663169AC2F63312F63322F72312F7232A366316AA92F63312F63322F7231A366316BAC2F63312F63322F66316A2F78A366316CAA2F63312F63322F66316BA366316DA62F63312F6332A366316EA32F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B22F63312F63322F72312F72322F6632672F78A3663268B02F63312F63322F72312F72322F663268A3663269AC2F63312F63322F72312F7232A366326AA92F63312F63322F7231A366326BAC2F63312F63322F66326A2F78A366326CAA2F63312F63322F66326BA366326DA62F63312F6332A366326EA32F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
219 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2n>/c1</jp:f2n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2l>/c1/c2/f2k</jp:f2l>\n<jp:f2f></jp:f2f>\n<jp:f1m>/c1/c2</jp:f1m>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2h>/c1/c2/r1/r2/f2h</jp:f2h>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2i>/c1/c2/r1/r2</jp:f2i>\n<jp:f2g>/c1/c2/r1/r2/f2g/x</jp:f2g>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/c1/c2/f2j/x</jp:f2k>\n<jp:f1i>/c1/c2/r1/r2</jp:f1i>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f1l>/c1/c2/f1k</jp:f1l>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1k>/c1/c2/f1j/x</jp:f1k>\n<jp:f3c><>&''</jp:f3c>\n<jp:f2m>/c1/c2</jp:f2m>\n<jp:f2j>/c1/c2/r1</jp:f2j>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1h>/c1/c2/r1/r2/f1h</jp:f1h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1n>/c1</jp:f1n>\n<jp:f1f></jp:f1f>\n<jp:f1g>/c1/c2/r1/r2/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f1j>/c1/c2/r1</jp:f1j>\n</rdf:Description>\n</rdf:RDF>\n"
220 )
221 ),
222 tester(
223 "NoAuthority-1-ABSOLUTE",
224 input(
225 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "","/context","/resource","/path"
226 ),
227 results(
228 "{f0:'/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/context/resource/f1d',f1e:'/context/resource/f1e/x/y',f1f:'/context/resource',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/context/resource/f2d',f2e:'/context/resource/f2e/x/y',f2f:'/context/resource',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/context/resource/%3C%3E%26%27%22',f3c:'/context/resource/<>&\\'\"',f4:'/context/resource/test/uri/b',f5:'/context/resource/f5/x'}",
229 "<object f0='/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/context/resource/f1d</f1d><f1e>/context/resource/f1e/x/y</f1e><f1f>/context/resource</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/context/resource/f2d</f2d><f2e>/context/resource/f2e/x/y</f2e><f2f>/context/resource</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/context/resource/%3C%3E%26%27%22</f3b><f3c>/context/resource/<>&'\"</f3c><f4>/context/resource/test/uri/b</f4><f5>/context/resource/f5/x</f5></object>",
230 "<table><tr><td>f0</td><td><a href='/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/context/resource/f5/x'>x</a></td></tr></table>",
231 "(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
232 "f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
233 "DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
234 "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
235 )
236 ),
237 tester(
238 "NoAuthority-1-ROOT_RELATIVE",
239 input(
240 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "","/context","/resource","/path"
241 ),
242 results(
243 "{f0:'/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/context/resource/f1d',f1e:'/context/resource/f1e/x/y',f1f:'/context/resource',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/context/resource/f2d',f2e:'/context/resource/f2e/x/y',f2f:'/context/resource',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/context/resource/%3C%3E%26%27%22',f3c:'/context/resource/<>&\\'\"',f4:'/context/resource/test/uri/b',f5:'/context/resource/f5/x'}",
244 "<object f0='/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/context/resource/f1d</f1d><f1e>/context/resource/f1e/x/y</f1e><f1f>/context/resource</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/context/resource/f2d</f2d><f2e>/context/resource/f2e/x/y</f2e><f2f>/context/resource</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/context/resource/%3C%3E%26%27%22</f3b><f3c>/context/resource/<>&'\"</f3c><f4>/context/resource/test/uri/b</f4><f5>/context/resource/f5/x</f5></object>",
245 "<table><tr><td>f0</td><td><a href='/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/context/resource/f5/x'>x</a></td></tr></table>",
246 "(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
247 "f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
248 "DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
249 "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
250 )
251 ),
252 tester(
253 "NoAuthority-1-NONE",
254 input(
255 UriResolution.NONE, UriRelativity.RESOURCE, "","/context","/resource","/path"
256 ),
257 results(
258 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
259 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
260 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
261 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
262 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
263 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
264 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2f></jp:f2f>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f2j>/context</jp:f2j>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1j>/context</jp:f1j>\n<jp:f1f></jp:f1f>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n</rdf:Description>\n</rdf:RDF>\n"
265 )
266 ),
267 tester(
268 "NoContext-1-ABSOLUTE",
269 input(
270 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","","/resource","/path"
271 ),
272 results(
273 "{f0:'http://foo.com:123/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/resource/f1d',f1e:'http://foo.com:123/resource/f1e/x/y',f1f:'http://foo.com:123/resource',f1g:'http://foo.com:123/resource/f1g/x',f1h:'http://foo.com:123/resource/f1h',f1i:'http://foo.com:123/resource',f1j:'http://foo.com:123',f1k:'http://foo.com:123/f1j/x',f1l:'http://foo.com:123/f1k',f1m:'http://foo.com:123',f1n:'http://foo.com:123/..',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/resource/f2d',f2e:'http://foo.com:123/resource/f2e/x/y',f2f:'http://foo.com:123/resource',f2g:'http://foo.com:123/resource/f2g/x',f2h:'http://foo.com:123/resource/f2h',f2i:'http://foo.com:123/resource',f2j:'http://foo.com:123',f2k:'http://foo.com:123/f2j/x',f2l:'http://foo.com:123/f2k',f2m:'http://foo.com:123',f2n:'http://foo.com:123/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/resource/%3C%3E%26%27%22',f3c:'http://foo.com:123/resource/<>&\\'\"',f4:'http://foo.com:123/resource/test/uri/b',f5:'http://foo.com:123/resource/f5/x'}",
274 "<object f0='http://foo.com:123/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/resource/f1d</f1d><f1e>http://foo.com:123/resource/f1e/x/y</f1e><f1f>http://foo.com:123/resource</f1f><f1g>http://foo.com:123/resource/f1g/x</f1g><f1h>http://foo.com:123/resource/f1h</f1h><f1i>http://foo.com:123/resource</f1i><f1j>http://foo.com:123</f1j><f1k>http://foo.com:123/f1j/x</f1k><f1l>http://foo.com:123/f1k</f1l><f1m>http://foo.com:123</f1m><f1n>http://foo.com:123/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/resource/f2d</f2d><f2e>http://foo.com:123/resource/f2e/x/y</f2e><f2f>http://foo.com:123/resource</f2f><f2g>http://foo.com:123/resource/f2g/x</f2g><f2h>http://foo.com:123/resource/f2h</f2h><f2i>http://foo.com:123/resource</f2i><f2j>http://foo.com:123</f2j><f2k>http://foo.com:123/f2j/x</f2k><f2l>http://foo.com:123/f2k</f2l><f2m>http://foo.com:123</f2m><f2n>http://foo.com:123/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/resource/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/resource/<>&'\"</f3c><f4>http://foo.com:123/resource/test/uri/b</f4><f5>http://foo.com:123/resource/f5/x</f5></object>",
275 "<table><tr><td>f0</td><td><a href='http://foo.com:123/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/resource/f5/x'>x</a></td></tr></table>",
276 "(f0=http://foo.com:123/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/resource/f1d,f1e=http://foo.com:123/resource/f1e/x/y,f1f=http://foo.com:123/resource,f1g=http://foo.com:123/resource/f1g/x,f1h=http://foo.com:123/resource/f1h,f1i=http://foo.com:123/resource,f1j=http://foo.com:123,f1k=http://foo.com:123/f1j/x,f1l=http://foo.com:123/f1k,f1m=http://foo.com:123,f1n=http://foo.com:123/..,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/resource/f2d,f2e=http://foo.com:123/resource/f2e/x/y,f2f=http://foo.com:123/resource,f2g=http://foo.com:123/resource/f2g/x,f2h=http://foo.com:123/resource/f2h,f2i=http://foo.com:123/resource,f2j=http://foo.com:123,f2k=http://foo.com:123/f2j/x,f2l=http://foo.com:123/f2k,f2m=http://foo.com:123,f2n=http://foo.com:123/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/resource/%3C%3E%26%27%22,f3c=http://foo.com:123/resource/<>&~'\",f4=http://foo.com:123/resource/test/uri/b,f5=http://foo.com:123/resource/f5/x)",
277 "f0=http://foo.com:123/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/resource/f1d&f1e=http://foo.com:123/resource/f1e/x/y&f1f=http://foo.com:123/resource&f1g=http://foo.com:123/resource/f1g/x&f1h=http://foo.com:123/resource/f1h&f1i=http://foo.com:123/resource&f1j=http://foo.com:123&f1k=http://foo.com:123/f1j/x&f1l=http://foo.com:123/f1k&f1m=http://foo.com:123&f1n=http://foo.com:123/..&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/resource/f2d&f2e=http://foo.com:123/resource/f2e/x/y&f2f=http://foo.com:123/resource&f2g=http://foo.com:123/resource/f2g/x&f2h=http://foo.com:123/resource/f2h&f2i=http://foo.com:123/resource&f2j=http://foo.com:123&f2k=http://foo.com:123/f2j/x&f2l=http://foo.com:123/f2k&f2m=http://foo.com:123&f2n=http://foo.com:123/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/resource/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/resource/%3C%3E%26~'%22&f4=http://foo.com:123/resource/test/uri/b&f5=http://foo.com:123/resource/f5/x",
278 "DE0022A26630D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663164A3663165D923687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6631652F782F79A3663166BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A3663167D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6631672F78A3663168BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663168A3663169BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A366316AB2687474703A2F2F666F6F2E636F6D3A313233A366316BB8687474703A2F2F666F6F2E636F6D3A3132332F66316A2F78A366316CB6687474703A2F2F666F6F2E636F6D3A3132332F66316BA366316DB2687474703A2F2F666F6F2E636F6D3A313233A366316EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663264A3663265D923687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6632652F782F79A3663266BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A3663267D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6632672F78A3663268BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663268A3663269BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A366326AB2687474703A2F2F666F6F2E636F6D3A313233A366326BB8687474703A2F2F666F6F2E636F6D3A3132332F66326A2F78A366326CB6687474703A2F2F666F6F2E636F6D3A3132332F66326BA366326DB2687474703A2F2F666F6F2E636F6D3A313233A366326EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D92B687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F253343253345253236253237253232A3663363D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F3C3E262722A26634D926687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F746573742F7572692F62A26635D920687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F66352F78",
279 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/resource/f0/x0'>\n<jp:f2i rdf:resource='http://foo.com:123/resource'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2h rdf:resource='http://foo.com:123/resource/f2h'/>\n<jp:f1g rdf:resource='http://foo.com:123/resource/f1g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123/..'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f1f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2d rdf:resource='http://foo.com:123/resource/f2d'/>\n<jp:f1l rdf:resource='http://foo.com:123/f1k'/>\n<jp:f3b rdf:resource='http://foo.com:123/resource/%3C%3E%26%27%22'/>\n<jp:f4 rdf:resource='http://foo.com:123/resource/test/uri/b'/>\n<jp:f2l rdf:resource='http://foo.com:123/f2k'/>\n<jp:f1d rdf:resource='http://foo.com:123/resource/f1d'/>\n<jp:f1e rdf:resource='http://foo.com:123/resource/f1e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f1k rdf:resource='http://foo.com:123/f1j/x'/>\n<jp:f2m rdf:resource='http://foo.com:123'/>\n<jp:f1i rdf:resource='http://foo.com:123/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/resource/f5/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2n rdf:resource='http://foo.com:123/..'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h rdf:resource='http://foo.com:123/resource/f1h'/>\n<jp:f1m rdf:resource='http://foo.com:123'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f2g rdf:resource='http://foo.com:123/resource/f2g/x'/>\n<jp:f2k rdf:resource='http://foo.com:123/f2j/x'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f3c rdf:resource='http://foo.com:123/resource/<>&'"'/>\n<jp:f2e rdf:resource='http://foo.com:123/resource/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
280 )
281 ),
282 tester(
283 "NoContext-1-ROOT_RELATIVE",
284 input(
285 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","","/resource","/path"
286 ),
287 results(
288 "{f0:'/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/resource/f1d',f1e:'/resource/f1e/x/y',f1f:'/resource',f1g:'/resource/f1g/x',f1h:'/resource/f1h',f1i:'/resource',f1j:'/',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/resource/f2d',f2e:'/resource/f2e/x/y',f2f:'/resource',f2g:'/resource/f2g/x',f2h:'/resource/f2h',f2i:'/resource',f2j:'/',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/resource/%3C%3E%26%27%22',f3c:'/resource/<>&\\'\"',f4:'/resource/test/uri/b',f5:'/resource/f5/x'}",
289 "<object f0='/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/resource/f1d</f1d><f1e>/resource/f1e/x/y</f1e><f1f>/resource</f1f><f1g>/resource/f1g/x</f1g><f1h>/resource/f1h</f1h><f1i>/resource</f1i><f1j>/</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/resource/f2d</f2d><f2e>/resource/f2e/x/y</f2e><f2f>/resource</f2f><f2g>/resource/f2g/x</f2g><f2h>/resource/f2h</f2h><f2i>/resource</f2i><f2j>/</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/resource/%3C%3E%26%27%22</f3b><f3c>/resource/<>&'\"</f3c><f4>/resource/test/uri/b</f4><f5>/resource/f5/x</f5></object>",
290 "<table><tr><td>f0</td><td><a href='/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/resource/f5/x'>x</a></td></tr></table>",
291 "(f0=/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/resource/f1d,f1e=/resource/f1e/x/y,f1f=/resource,f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/resource/f2d,f2e=/resource/f2e/x/y,f2f=/resource,f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/resource/%3C%3E%26%27%22,f3c=/resource/<>&~'\",f4=/resource/test/uri/b,f5=/resource/f5/x)",
292 "f0=/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/resource/f1d&f1e=/resource/f1e/x/y&f1f=/resource&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/resource/f2d&f2e=/resource/f2e/x/y&f2f=/resource&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/resource/%253C%253E%2526%2527%2522&f3c=/resource/%3C%3E%26~'%22&f4=/resource/test/uri/b&f5=/resource/f5/x",
293 "DE0022A26630AF2F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AD2F7265736F757263652F663164A3663165B12F7265736F757263652F6631652F782F79A3663166A92F7265736F75726365A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AD2F7265736F757263652F663264A3663265B12F7265736F757263652F6632652F782F79A3663266A92F7265736F75726365A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B92F7265736F757263652F253343253345253236253237253232A3663363AF2F7265736F757263652F3C3E262722A26634B42F7265736F757263652F746573742F7572692F62A26635AE2F7265736F757263652F66352F78",
294 "<rdf:RDF>\n<rdf:Description rdf:about='/resource/f0/x0'>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2e>/resource/f2e/x/y</jp:f2e>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2n>/..</jp:f2n>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f3c>/resource/<>&''</jp:f3c>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1e>/resource/f1e/x/y</jp:f1e>\n<jp:f5>/resource/f5/x</jp:f5>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2d>/resource/f2d</jp:f2d>\n<jp:f2j>/</jp:f2j>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1j>/</jp:f1j>\n<jp:f1d>/resource/f1d</jp:f1d>\n<jp:f2m>/</jp:f2m>\n<jp:f1f>/resource</jp:f1f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f4>/resource/test/uri/b</jp:f4>\n<jp:f2i>/resource</jp:f2i>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2f>/resource</jp:f2f>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f1m>/</jp:f1m>\n</rdf:Description>\n</rdf:RDF>\n"
295 )
296 ),
297 tester(
298 "NoContext-1-NONE",
299 input(
300 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","","/resource","/path"
301 ),
302 results(
303 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/resource/f1g/x',f1h:'/resource/f1h',f1i:'/resource',f1j:'/',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/resource/f2g/x',f2h:'/resource/f2h',f2i:'/resource',f2j:'/',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
304 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/resource/f1g/x</f1g><f1h>/resource/f1h</f1h><f1i>/resource</f1i><f1j>/</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/resource/f2g/x</f2g><f2h>/resource/f2h</f2h><f2i>/resource</f2i><f2j>/</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
305 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
306 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
307 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
308 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
309 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f2n>/..</jp:f2n>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2i>/resource</jp:f2i>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2j>/</jp:f2j>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1j>/</jp:f1j>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n</rdf:Description>\n</rdf:RDF>\n"
310 )
311 ),
312 tester(
313 "NoResource-1-ABSOLUTE",
314 input(
315 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","/context","","/path"
316 ),
317 results(
318 "{f0:'http://foo.com:123/context/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/context/f1d',f1e:'http://foo.com:123/context/f1e/x/y',f1f:'http://foo.com:123/context',f1g:'http://foo.com:123/context/f1g/x',f1h:'http://foo.com:123/context/f1h',f1i:'http://foo.com:123/context',f1j:'http://foo.com:123',f1k:'http://foo.com:123/context/f1j/x',f1l:'http://foo.com:123/context/f1k',f1m:'http://foo.com:123/context',f1n:'http://foo.com:123',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/context/f2d',f2e:'http://foo.com:123/context/f2e/x/y',f2f:'http://foo.com:123/context',f2g:'http://foo.com:123/context/f2g/x',f2h:'http://foo.com:123/context/f2h',f2i:'http://foo.com:123/context',f2j:'http://foo.com:123',f2k:'http://foo.com:123/context/f2j/x',f2l:'http://foo.com:123/context/f2k',f2m:'http://foo.com:123/context',f2n:'http://foo.com:123',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/context/%3C%3E%26%27%22',f3c:'http://foo.com:123/context/<>&\\'\"',f4:'http://foo.com:123/context/test/uri/b',f5:'http://foo.com:123/context/f5/x'}",
319 "<object f0='http://foo.com:123/context/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/context/f1d</f1d><f1e>http://foo.com:123/context/f1e/x/y</f1e><f1f>http://foo.com:123/context</f1f><f1g>http://foo.com:123/context/f1g/x</f1g><f1h>http://foo.com:123/context/f1h</f1h><f1i>http://foo.com:123/context</f1i><f1j>http://foo.com:123</f1j><f1k>http://foo.com:123/context/f1j/x</f1k><f1l>http://foo.com:123/context/f1k</f1l><f1m>http://foo.com:123/context</f1m><f1n>http://foo.com:123</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/context/f2d</f2d><f2e>http://foo.com:123/context/f2e/x/y</f2e><f2f>http://foo.com:123/context</f2f><f2g>http://foo.com:123/context/f2g/x</f2g><f2h>http://foo.com:123/context/f2h</f2h><f2i>http://foo.com:123/context</f2i><f2j>http://foo.com:123</f2j><f2k>http://foo.com:123/context/f2j/x</f2k><f2l>http://foo.com:123/context/f2k</f2l><f2m>http://foo.com:123/context</f2m><f2n>http://foo.com:123</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/context/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/context/<>&'\"</f3c><f4>http://foo.com:123/context/test/uri/b</f4><f5>http://foo.com:123/context/f5/x</f5></object>",
320 "<table><tr><td>f0</td><td><a href='http://foo.com:123/context/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/context/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/context/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/context/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/context/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/context/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/context/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/context/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/context/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/context/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/context/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/context/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/context/f5/x'>x</a></td></tr></table>",
321 "(f0=http://foo.com:123/context/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/context/f1d,f1e=http://foo.com:123/context/f1e/x/y,f1f=http://foo.com:123/context,f1g=http://foo.com:123/context/f1g/x,f1h=http://foo.com:123/context/f1h,f1i=http://foo.com:123/context,f1j=http://foo.com:123,f1k=http://foo.com:123/context/f1j/x,f1l=http://foo.com:123/context/f1k,f1m=http://foo.com:123/context,f1n=http://foo.com:123,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/context/f2d,f2e=http://foo.com:123/context/f2e/x/y,f2f=http://foo.com:123/context,f2g=http://foo.com:123/context/f2g/x,f2h=http://foo.com:123/context/f2h,f2i=http://foo.com:123/context,f2j=http://foo.com:123,f2k=http://foo.com:123/context/f2j/x,f2l=http://foo.com:123/context/f2k,f2m=http://foo.com:123/context,f2n=http://foo.com:123,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/context/%3C%3E%26%27%22,f3c=http://foo.com:123/context/<>&~'\",f4=http://foo.com:123/context/test/uri/b,f5=http://foo.com:123/context/f5/x)",
322 "f0=http://foo.com:123/context/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/context/f1d&f1e=http://foo.com:123/context/f1e/x/y&f1f=http://foo.com:123/context&f1g=http://foo.com:123/context/f1g/x&f1h=http://foo.com:123/context/f1h&f1i=http://foo.com:123/context&f1j=http://foo.com:123&f1k=http://foo.com:123/context/f1j/x&f1l=http://foo.com:123/context/f1k&f1m=http://foo.com:123/context&f1n=http://foo.com:123&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/context/f2d&f2e=http://foo.com:123/context/f2e/x/y&f2f=http://foo.com:123/context&f2g=http://foo.com:123/context/f2g/x&f2h=http://foo.com:123/context/f2h&f2i=http://foo.com:123/context&f2j=http://foo.com:123&f2k=http://foo.com:123/context/f2j/x&f2l=http://foo.com:123/context/f2k&f2m=http://foo.com:123/context&f2n=http://foo.com:123&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/context/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/context/%3C%3E%26~'%22&f4=http://foo.com:123/context/test/uri/b&f5=http://foo.com:123/context/f5/x",
323 "DE0022A26630D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663164A3663165D922687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6631652F782F79A3663166BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A3663167D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6631672F78A3663168BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663168A3663169BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316AB2687474703A2F2F666F6F2E636F6D3A313233A366316BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316A2F78A366316CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316BA366316DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316EB2687474703A2F2F666F6F2E636F6D3A313233A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663264A3663265D922687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6632652F782F79A3663266BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A3663267D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6632672F78A3663268BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663268A3663269BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326AB2687474703A2F2F666F6F2E636F6D3A313233A366326BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326A2F78A366326CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326BA366326DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326EB2687474703A2F2F666F6F2E636F6D3A313233A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D92A687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F253343253345253236253237253232A3663363D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F3C3E262722A26634D925687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F746573742F7572692F62A26635BF687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66352F78",
324 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/f0/x0'>\n<jp:f1f rdf:resource='http://foo.com:123/context'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource='http://foo.com:123/context/%3C%3E%26%27%22'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/f2d'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/f1g/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/f2h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/f1d'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2i rdf:resource='http://foo.com:123/context'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/f1h'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/test/uri/b'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/f1e/x/y'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/f2g/x'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n<jp:f2f rdf:resource='http://foo.com:123/context'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/f5/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
325 )
326 ),
327 tester(
328 "NoResource-1-ROOT_RELATIVE",
329 input(
330 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","/context","","/path"
331 ),
332 results(
333 "{f0:'/context/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/context/f1d',f1e:'/context/f1e/x/y',f1f:'/context',f1g:'/context/f1g/x',f1h:'/context/f1h',f1i:'/context',f1j:'/',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/context/f2d',f2e:'/context/f2e/x/y',f2f:'/context',f2g:'/context/f2g/x',f2h:'/context/f2h',f2i:'/context',f2j:'/',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/context/%3C%3E%26%27%22',f3c:'/context/<>&\\'\"',f4:'/context/test/uri/b',f5:'/context/f5/x'}",
334 "<object f0='/context/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/context/f1d</f1d><f1e>/context/f1e/x/y</f1e><f1f>/context</f1f><f1g>/context/f1g/x</f1g><f1h>/context/f1h</f1h><f1i>/context</f1i><f1j>/</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/context/f2d</f2d><f2e>/context/f2e/x/y</f2e><f2f>/context</f2f><f2g>/context/f2g/x</f2g><f2h>/context/f2h</f2h><f2i>/context</f2i><f2j>/</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/context/%3C%3E%26%27%22</f3b><f3c>/context/<>&'\"</f3c><f4>/context/test/uri/b</f4><f5>/context/f5/x</f5></object>",
335 "<table><tr><td>f0</td><td><a href='/context/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/context/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/context/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/context'>context</a></td></tr><tr><td>f1g</td><td><a href='/context/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context'>context</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/context/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/context/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/context'>context</a></td></tr><tr><td>f2g</td><td><a href='/context/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context'>context</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/context/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/context/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/context/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/context/f5/x'>x</a></td></tr></table>",
336 "(f0=/context/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/f1d,f1e=/context/f1e/x/y,f1f=/context,f1g=/context/f1g/x,f1h=/context/f1h,f1i=/context,f1j=/,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/f2d,f2e=/context/f2e/x/y,f2f=/context,f2g=/context/f2g/x,f2h=/context/f2h,f2i=/context,f2j=/,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/%3C%3E%26%27%22,f3c=/context/<>&~'\",f4=/context/test/uri/b,f5=/context/f5/x)",
337 "f0=/context/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/f1d&f1e=/context/f1e/x/y&f1f=/context&f1g=/context/f1g/x&f1h=/context/f1h&f1i=/context&f1j=/&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/f2d&f2e=/context/f2e/x/y&f2f=/context&f2g=/context/f2g/x&f2h=/context/f2h&f2i=/context&f2j=/&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/%253C%253E%2526%2527%2522&f3c=/context/%3C%3E%26~'%22&f4=/context/test/uri/b&f5=/context/f5/x",
338 "DE0022A26630AE2F636F6E746578742F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AC2F636F6E746578742F663164A3663165B02F636F6E746578742F6631652F782F79A3663166A82F636F6E74657874A3663167AE2F636F6E746578742F6631672F78A3663168AC2F636F6E746578742F663168A3663169A82F636F6E74657874A366316AA12FA366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AC2F636F6E746578742F663264A3663265B02F636F6E746578742F6632652F782F79A3663266A82F636F6E74657874A3663267AE2F636F6E746578742F6632672F78A3663268AC2F636F6E746578742F663268A3663269A82F636F6E74657874A366326AA12FA366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B82F636F6E746578742F253343253345253236253237253232A3663363AE2F636F6E746578742F3C3E262722A26634B32F636F6E746578742F746573742F7572692F62A26635AD2F636F6E746578742F66352F78",
339 "<rdf:RDF>\n<rdf:Description rdf:about='/context/f0/x0'>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1f>/context</jp:f1f>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1e>/context/f1e/x/y</jp:f1e>\n<jp:f2i>/context</jp:f2i>\n<jp:f1j>/</jp:f1j>\n<jp:f3b>/context/%3C%3E%26%27%22</jp:f3b>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1h>/context/f1h</jp:f1h>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1i>/context</jp:f1i>\n<jp:f2j>/</jp:f2j>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f2g>/context/f2g/x</jp:f2g>\n<jp:f3c>/context/<>&''</jp:f3c>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2f>/context</jp:f2f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f1d>/context/f1d</jp:f1d>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2m>/context</jp:f2m>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1n>/</jp:f1n>\n<jp:f4>/context/test/uri/b</jp:f4>\n<jp:f1g>/context/f1g/x</jp:f1g>\n<jp:f5>/context/f5/x</jp:f5>\n<jp:f2d>/context/f2d</jp:f2d>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2e>/context/f2e/x/y</jp:f2e>\n<jp:f2n>/</jp:f2n>\n<jp:f2h>/context/f2h</jp:f2h>\n</rdf:Description>\n</rdf:RDF>\n"
340 )
341 ),
342 tester(
343 "NoResource-1-NONE",
344 input(
345 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","/context","","/path"
346 ),
347 results(
348 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/context/f1g/x',f1h:'/context/f1h',f1i:'/context',f1j:'/',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/context/f2g/x',f2h:'/context/f2h',f2i:'/context',f2j:'/',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
349 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/context/f1g/x</f1g><f1h>/context/f1h</f1h><f1i>/context</f1i><f1j>/</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/context/f2g/x</f2g><f2h>/context/f2h</f2h><f2i>/context</f2i><f2j>/</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
350 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/context/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context'>context</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/context/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context'>context</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
351 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/f1g/x,f1h=/context/f1h,f1i=/context,f1j=/,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/f2g/x,f2h=/context/f2h,f2i=/context,f2j=/,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
352 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/f1g/x&f1h=/context/f1h&f1i=/context&f1j=/&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/f2g/x&f2h=/context/f2h&f2i=/context&f2j=/&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
353 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167AE2F636F6E746578742F6631672F78A3663168AC2F636F6E746578742F663168A3663169A82F636F6E74657874A366316AA12FA366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267AE2F636F6E746578742F6632672F78A3663268AC2F636F6E746578742F663268A3663269A82F636F6E74657874A366326AA12FA366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
354 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2i>/context</jp:f2i>\n<jp:f1i>/context</jp:f1i>\n<jp:f2f></jp:f2f>\n<jp:f1g>/context/f1g/x</jp:f1g>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f2j>/</jp:f2j>\n<jp:f2h>/context/f2h</jp:f2h>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1h>/context/f1h</jp:f1h>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1j>/</jp:f1j>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2g>/context/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
355 )
356 ),
357 tester(
358 "NoPath-1-ABSOLUTE",
359 input(
360 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource",""
361 ),
362 results(
363 "{f0:'http://foo.com:123/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/context/resource/f1d',f1e:'http://foo.com:123/context/resource/f1e/x/y',f1f:'http://foo.com:123/context/resource',f1g:'http://foo.com:123/context/resource/f1g/x',f1h:'http://foo.com:123/context/resource/f1h',f1i:'http://foo.com:123/context/resource',f1j:'http://foo.com:123/context',f1k:'http://foo.com:123/context/f1j/x',f1l:'http://foo.com:123/context/f1k',f1m:'http://foo.com:123/context',f1n:'http://foo.com:123',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/context/resource/f2d',f2e:'http://foo.com:123/context/resource/f2e/x/y',f2f:'http://foo.com:123/context/resource',f2g:'http://foo.com:123/context/resource/f2g/x',f2h:'http://foo.com:123/context/resource/f2h',f2i:'http://foo.com:123/context/resource',f2j:'http://foo.com:123/context',f2k:'http://foo.com:123/context/f2j/x',f2l:'http://foo.com:123/context/f2k',f2m:'http://foo.com:123/context',f2n:'http://foo.com:123',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/context/resource/%3C%3E%26%27%22',f3c:'http://foo.com:123/context/resource/<>&\\'\"',f4:'http://foo.com:123/context/resource/test/uri/b',f5:'http://foo.com:123/context/resource/f5/x'}",
364 "<object f0='http://foo.com:123/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/context/resource/f1d</f1d><f1e>http://foo.com:123/context/resource/f1e/x/y</f1e><f1f>http://foo.com:123/context/resource</f1f><f1g>http://foo.com:123/context/resource/f1g/x</f1g><f1h>http://foo.com:123/context/resource/f1h</f1h><f1i>http://foo.com:123/context/resource</f1i><f1j>http://foo.com:123/context</f1j><f1k>http://foo.com:123/context/f1j/x</f1k><f1l>http://foo.com:123/context/f1k</f1l><f1m>http://foo.com:123/context</f1m><f1n>http://foo.com:123</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/context/resource/f2d</f2d><f2e>http://foo.com:123/context/resource/f2e/x/y</f2e><f2f>http://foo.com:123/context/resource</f2f><f2g>http://foo.com:123/context/resource/f2g/x</f2g><f2h>http://foo.com:123/context/resource/f2h</f2h><f2i>http://foo.com:123/context/resource</f2i><f2j>http://foo.com:123/context</f2j><f2k>http://foo.com:123/context/f2j/x</f2k><f2l>http://foo.com:123/context/f2k</f2l><f2m>http://foo.com:123/context</f2m><f2n>http://foo.com:123</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/context/resource/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/context/resource/<>&'\"</f3c><f4>http://foo.com:123/context/resource/test/uri/b</f4><f5>http://foo.com:123/context/resource/f5/x</f5></object>",
365 "<table><tr><td>f0</td><td><a href='http://foo.com:123/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123/context'>context</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/context/resource/f5/x'>x</a></td></tr></table>",
366 "(f0=http://foo.com:123/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/context/resource/f1d,f1e=http://foo.com:123/context/resource/f1e/x/y,f1f=http://foo.com:123/context/resource,f1g=http://foo.com:123/context/resource/f1g/x,f1h=http://foo.com:123/context/resource/f1h,f1i=http://foo.com:123/context/resource,f1j=http://foo.com:123/context,f1k=http://foo.com:123/context/f1j/x,f1l=http://foo.com:123/context/f1k,f1m=http://foo.com:123/context,f1n=http://foo.com:123,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/context/resource/f2d,f2e=http://foo.com:123/context/resource/f2e/x/y,f2f=http://foo.com:123/context/resource,f2g=http://foo.com:123/context/resource/f2g/x,f2h=http://foo.com:123/context/resource/f2h,f2i=http://foo.com:123/context/resource,f2j=http://foo.com:123/context,f2k=http://foo.com:123/context/f2j/x,f2l=http://foo.com:123/context/f2k,f2m=http://foo.com:123/context,f2n=http://foo.com:123,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/context/resource/%3C%3E%26%27%22,f3c=http://foo.com:123/context/resource/<>&~'\",f4=http://foo.com:123/context/resource/test/uri/b,f5=http://foo.com:123/context/resource/f5/x)",
367 "f0=http://foo.com:123/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/context/resource/f1d&f1e=http://foo.com:123/context/resource/f1e/x/y&f1f=http://foo.com:123/context/resource&f1g=http://foo.com:123/context/resource/f1g/x&f1h=http://foo.com:123/context/resource/f1h&f1i=http://foo.com:123/context/resource&f1j=http://foo.com:123/context&f1k=http://foo.com:123/context/f1j/x&f1l=http://foo.com:123/context/f1k&f1m=http://foo.com:123/context&f1n=http://foo.com:123&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/context/resource/f2d&f2e=http://foo.com:123/context/resource/f2e/x/y&f2f=http://foo.com:123/context/resource&f2g=http://foo.com:123/context/resource/f2g/x&f2h=http://foo.com:123/context/resource/f2h&f2i=http://foo.com:123/context/resource&f2j=http://foo.com:123/context&f2k=http://foo.com:123/context/f2j/x&f2l=http://foo.com:123/context/f2k&f2m=http://foo.com:123/context&f2n=http://foo.com:123&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/context/resource/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/context/resource/%3C%3E%26~'%22&f4=http://foo.com:123/context/resource/test/uri/b&f5=http://foo.com:123/context/resource/f5/x",
368 "DE0022A26630D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663164A3663165D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631652F782F79A3663166D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663167D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631672F78A3663168D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663168A3663169D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366316ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316A2F78A366316CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316BA366316DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316EB2687474703A2F2F666F6F2E636F6D3A313233A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663264A3663265D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632652F782F79A3663266D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663267D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632672F78A3663268D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663268A3663269D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366326ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326A2F78A366326CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326BA366326DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326EB2687474703A2F2F666F6F2E636F6D3A313233A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D933687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F3C3E262722A26634D92E687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F746573742F7572692F62A26635D928687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66352F78",
369 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/resource/f0/x0'>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/resource/f1g/x'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f2i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/resource/f5/x'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/resource/test/uri/b'/>\n<jp:f1f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/resource/f2d'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/resource/f1e/x/y'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/resource/f2e/x/y'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2j rdf:resource='http://foo.com:123/context'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/resource/f2h'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/resource/f1h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1j rdf:resource='http://foo.com:123/context'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/resource/f2g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/resource/f1d'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/resource/<>&'"'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource='http://foo.com:123/context/resource/%3C%3E%26%27%22'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n</rdf:Description>\n</rdf:RDF>\n"
370 )
371 ),
372 tester(
373 "NoPath-1-ROOT_RELATIVE",
374 input(
375 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource",""
376 ),
377 results(
378 "{f0:'/context/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/context/resource/f1d',f1e:'/context/resource/f1e/x/y',f1f:'/context/resource',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/context/resource/f2d',f2e:'/context/resource/f2e/x/y',f2f:'/context/resource',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/context/resource/%3C%3E%26%27%22',f3c:'/context/resource/<>&\\'\"',f4:'/context/resource/test/uri/b',f5:'/context/resource/f5/x'}",
379 "<object f0='/context/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/context/resource/f1d</f1d><f1e>/context/resource/f1e/x/y</f1e><f1f>/context/resource</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/context/resource/f2d</f2d><f2e>/context/resource/f2e/x/y</f2e><f2f>/context/resource</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/context/resource/%3C%3E%26%27%22</f3b><f3c>/context/resource/<>&'\"</f3c><f4>/context/resource/test/uri/b</f4><f5>/context/resource/f5/x</f5></object>",
380 "<table><tr><td>f0</td><td><a href='/context/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/context/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/context/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/context/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/context/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/context/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/context/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/context/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/context/resource/f5/x'>x</a></td></tr></table>",
381 "(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
382 "f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
383 "DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
384 "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
385 )
386 ),
387 tester(
388 "NoPath-1-NONE",
389 input(
390 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","/context","/resource",""
391 ),
392 results(
393 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/context/resource/f1g/x',f1h:'/context/resource/f1h',f1i:'/context/resource',f1j:'/context',f1k:'/context/f1j/x',f1l:'/context/f1k',f1m:'/context',f1n:'/',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/context/resource/f2g/x',f2h:'/context/resource/f2h',f2i:'/context/resource',f2j:'/context',f2k:'/context/f2j/x',f2l:'/context/f2k',f2m:'/context',f2n:'/',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
394 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/context/resource/f1g/x</f1g><f1h>/context/resource/f1h</f1h><f1i>/context/resource</f1i><f1j>/context</f1j><f1k>/context/f1j/x</f1k><f1l>/context/f1k</f1l><f1m>/context</f1m><f1n>/</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/context/resource/f2g/x</f2g><f2h>/context/resource/f2h</f2h><f2i>/context/resource</f2i><f2j>/context</f2j><f2k>/context/f2j/x</f2k><f2l>/context/f2k</f2l><f2m>/context</f2m><f2n>/</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
395 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/context/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/context/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/context'>context</a></td></tr><tr><td>f1k</td><td><a href='/context/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/context/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/context'>context</a></td></tr><tr><td>f1n</td><td><a href='/'>/</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/context/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/context/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/context/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/context'>context</a></td></tr><tr><td>f2k</td><td><a href='/context/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/context/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/context'>context</a></td></tr><tr><td>f2n</td><td><a href='/'>/</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
396 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
397 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
398 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
399 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2f></jp:f2f>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f2j>/context</jp:f2j>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1j>/context</jp:f1j>\n<jp:f1f></jp:f1f>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n</rdf:Description>\n</rdf:RDF>\n"
400 )
401 ),
402 tester(
403 "NoAuthorityNoContext-1-ABSOLUTE",
404 input(
405 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "","","/resource","/path"
406 ),
407 results(
408 "{f0:'/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/resource/f1d',f1e:'/resource/f1e/x/y',f1f:'/resource',f1g:'/resource/f1g/x',f1h:'/resource/f1h',f1i:'/resource',f1j:'/',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/resource/f2d',f2e:'/resource/f2e/x/y',f2f:'/resource',f2g:'/resource/f2g/x',f2h:'/resource/f2h',f2i:'/resource',f2j:'/',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/resource/%3C%3E%26%27%22',f3c:'/resource/<>&\\'\"',f4:'/resource/test/uri/b',f5:'/resource/f5/x'}",
409 "<object f0='/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/resource/f1d</f1d><f1e>/resource/f1e/x/y</f1e><f1f>/resource</f1f><f1g>/resource/f1g/x</f1g><f1h>/resource/f1h</f1h><f1i>/resource</f1i><f1j>/</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/resource/f2d</f2d><f2e>/resource/f2e/x/y</f2e><f2f>/resource</f2f><f2g>/resource/f2g/x</f2g><f2h>/resource/f2h</f2h><f2i>/resource</f2i><f2j>/</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/resource/%3C%3E%26%27%22</f3b><f3c>/resource/<>&'\"</f3c><f4>/resource/test/uri/b</f4><f5>/resource/f5/x</f5></object>",
410 "<table><tr><td>f0</td><td><a href='/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/resource/f5/x'>x</a></td></tr></table>",
411 "(f0=/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/resource/f1d,f1e=/resource/f1e/x/y,f1f=/resource,f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/resource/f2d,f2e=/resource/f2e/x/y,f2f=/resource,f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/resource/%3C%3E%26%27%22,f3c=/resource/<>&~'\",f4=/resource/test/uri/b,f5=/resource/f5/x)",
412 "f0=/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/resource/f1d&f1e=/resource/f1e/x/y&f1f=/resource&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/resource/f2d&f2e=/resource/f2e/x/y&f2f=/resource&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/resource/%253C%253E%2526%2527%2522&f3c=/resource/%3C%3E%26~'%22&f4=/resource/test/uri/b&f5=/resource/f5/x",
413 "DE0022A26630AF2F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AD2F7265736F757263652F663164A3663165B12F7265736F757263652F6631652F782F79A3663166A92F7265736F75726365A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AD2F7265736F757263652F663264A3663265B12F7265736F757263652F6632652F782F79A3663266A92F7265736F75726365A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B92F7265736F757263652F253343253345253236253237253232A3663363AF2F7265736F757263652F3C3E262722A26634B42F7265736F757263652F746573742F7572692F62A26635AE2F7265736F757263652F66352F78",
414 "<rdf:RDF>\n<rdf:Description rdf:about='/resource/f0/x0'>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2e>/resource/f2e/x/y</jp:f2e>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2n>/..</jp:f2n>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f3c>/resource/<>&''</jp:f3c>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1e>/resource/f1e/x/y</jp:f1e>\n<jp:f5>/resource/f5/x</jp:f5>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2d>/resource/f2d</jp:f2d>\n<jp:f2j>/</jp:f2j>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1j>/</jp:f1j>\n<jp:f1d>/resource/f1d</jp:f1d>\n<jp:f2m>/</jp:f2m>\n<jp:f1f>/resource</jp:f1f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f4>/resource/test/uri/b</jp:f4>\n<jp:f2i>/resource</jp:f2i>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2f>/resource</jp:f2f>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f1m>/</jp:f1m>\n</rdf:Description>\n</rdf:RDF>\n"
415 )
416 ),
417 tester(
418 "NoAuthorityNoContext-1-ROOT_RELATIVE",
419 input(
420 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "","","/resource","/path"
421 ),
422 results(
423 "{f0:'/resource/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/resource/f1d',f1e:'/resource/f1e/x/y',f1f:'/resource',f1g:'/resource/f1g/x',f1h:'/resource/f1h',f1i:'/resource',f1j:'/',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/resource/f2d',f2e:'/resource/f2e/x/y',f2f:'/resource',f2g:'/resource/f2g/x',f2h:'/resource/f2h',f2i:'/resource',f2j:'/',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/resource/%3C%3E%26%27%22',f3c:'/resource/<>&\\'\"',f4:'/resource/test/uri/b',f5:'/resource/f5/x'}",
424 "<object f0='/resource/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/resource/f1d</f1d><f1e>/resource/f1e/x/y</f1e><f1f>/resource</f1f><f1g>/resource/f1g/x</f1g><f1h>/resource/f1h</f1h><f1i>/resource</f1i><f1j>/</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/resource/f2d</f2d><f2e>/resource/f2e/x/y</f2e><f2f>/resource</f2f><f2g>/resource/f2g/x</f2g><f2h>/resource/f2h</f2h><f2i>/resource</f2i><f2j>/</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/resource/%3C%3E%26%27%22</f3b><f3c>/resource/<>&'\"</f3c><f4>/resource/test/uri/b</f4><f5>/resource/f5/x</f5></object>",
425 "<table><tr><td>f0</td><td><a href='/resource/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/resource/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/resource/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1g</td><td><a href='/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/resource/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/resource/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2g</td><td><a href='/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/resource/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/resource/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/resource/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/resource/f5/x'>x</a></td></tr></table>",
426 "(f0=/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/resource/f1d,f1e=/resource/f1e/x/y,f1f=/resource,f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/resource/f2d,f2e=/resource/f2e/x/y,f2f=/resource,f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/resource/%3C%3E%26%27%22,f3c=/resource/<>&~'\",f4=/resource/test/uri/b,f5=/resource/f5/x)",
427 "f0=/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/resource/f1d&f1e=/resource/f1e/x/y&f1f=/resource&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/resource/f2d&f2e=/resource/f2e/x/y&f2f=/resource&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/resource/%253C%253E%2526%2527%2522&f3c=/resource/%3C%3E%26~'%22&f4=/resource/test/uri/b&f5=/resource/f5/x",
428 "DE0022A26630AF2F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AD2F7265736F757263652F663164A3663165B12F7265736F757263652F6631652F782F79A3663166A92F7265736F75726365A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AD2F7265736F757263652F663264A3663265B12F7265736F757263652F6632652F782F79A3663266A92F7265736F75726365A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B92F7265736F757263652F253343253345253236253237253232A3663363AF2F7265736F757263652F3C3E262722A26634B42F7265736F757263652F746573742F7572692F62A26635AE2F7265736F757263652F66352F78",
429 "<rdf:RDF>\n<rdf:Description rdf:about='/resource/f0/x0'>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2e>/resource/f2e/x/y</jp:f2e>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2n>/..</jp:f2n>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f3c>/resource/<>&''</jp:f3c>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1e>/resource/f1e/x/y</jp:f1e>\n<jp:f5>/resource/f5/x</jp:f5>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2d>/resource/f2d</jp:f2d>\n<jp:f2j>/</jp:f2j>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1j>/</jp:f1j>\n<jp:f1d>/resource/f1d</jp:f1d>\n<jp:f2m>/</jp:f2m>\n<jp:f1f>/resource</jp:f1f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f4>/resource/test/uri/b</jp:f4>\n<jp:f2i>/resource</jp:f2i>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2f>/resource</jp:f2f>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f1m>/</jp:f1m>\n</rdf:Description>\n</rdf:RDF>\n"
430 )
431 ),
432 tester(
433 "NoAuthorityNoContext-1-NONE",
434 input(
435 UriResolution.NONE, UriRelativity.RESOURCE, "","","/resource","/path"
436 ),
437 results(
438 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/resource/f1g/x',f1h:'/resource/f1h',f1i:'/resource',f1j:'/',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/resource/f2g/x',f2h:'/resource/f2h',f2i:'/resource',f2j:'/',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
439 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/resource/f1g/x</f1g><f1h>/resource/f1h</f1h><f1i>/resource</f1i><f1j>/</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/resource/f2g/x</f2g><f2h>/resource/f2h</f2h><f2i>/resource</f2i><f2j>/</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
440 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/resource/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/resource/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f1j</td><td><a href='/'>/</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/resource/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/resource/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/resource'>resource</a></td></tr><tr><td>f2j</td><td><a href='/'>/</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
441 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
442 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
443 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
444 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f2n>/..</jp:f2n>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2i>/resource</jp:f2i>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2j>/</jp:f2j>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1j>/</jp:f1j>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n</rdf:Description>\n</rdf:RDF>\n"
445 )
446 ),
447 tester(
448 "NoContextNoResource-1-ABSOLUTE",
449 input(
450 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "http://foo.com:123","","","/path"
451 ),
452 results(
453 "{f0:'http://foo.com:123/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'http://foo.com:123/f1b',f1c:'http://foo.com:123/f1c/x/y',f1d:'http://foo.com:123/f1d',f1e:'http://foo.com:123/f1e/x/y',f1f:'http://foo.com:123',f1g:'http://foo.com:123/f1g/x',f1h:'http://foo.com:123/f1h',f1i:'http://foo.com:123',f1j:'http://foo.com:123/..',f1k:'http://foo.com:123/f1j/x',f1l:'http://foo.com:123/f1k',f1m:'http://foo.com:123',f1n:'http://foo.com:123/..',f2a:'http://www.apache.org/f2a',f2b:'http://foo.com:123/f2b',f2c:'http://foo.com:123/f2c/x/y',f2d:'http://foo.com:123/f2d',f2e:'http://foo.com:123/f2e/x/y',f2f:'http://foo.com:123',f2g:'http://foo.com:123/f2g/x',f2h:'http://foo.com:123/f2h',f2i:'http://foo.com:123',f2j:'http://foo.com:123/..',f2k:'http://foo.com:123/f2j/x',f2l:'http://foo.com:123/f2k',f2m:'http://foo.com:123',f2n:'http://foo.com:123/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'http://foo.com:123/%3C%3E%26%27%22',f3c:'http://foo.com:123/<>&\\'\"',f4:'http://foo.com:123/test/uri/b',f5:'http://foo.com:123/f5/x'}",
454 "<object f0='http://foo.com:123/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>http://foo.com:123/f1b</f1b><f1c>http://foo.com:123/f1c/x/y</f1c><f1d>http://foo.com:123/f1d</f1d><f1e>http://foo.com:123/f1e/x/y</f1e><f1f>http://foo.com:123</f1f><f1g>http://foo.com:123/f1g/x</f1g><f1h>http://foo.com:123/f1h</f1h><f1i>http://foo.com:123</f1i><f1j>http://foo.com:123/..</f1j><f1k>http://foo.com:123/f1j/x</f1k><f1l>http://foo.com:123/f1k</f1l><f1m>http://foo.com:123</f1m><f1n>http://foo.com:123/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>http://foo.com:123/f2b</f2b><f2c>http://foo.com:123/f2c/x/y</f2c><f2d>http://foo.com:123/f2d</f2d><f2e>http://foo.com:123/f2e/x/y</f2e><f2f>http://foo.com:123</f2f><f2g>http://foo.com:123/f2g/x</f2g><f2h>http://foo.com:123/f2h</f2h><f2i>http://foo.com:123</f2i><f2j>http://foo.com:123/..</f2j><f2k>http://foo.com:123/f2j/x</f2k><f2l>http://foo.com:123/f2k</f2l><f2m>http://foo.com:123</f2m><f2n>http://foo.com:123/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>http://foo.com:123/%3C%3E%26%27%22</f3b><f3c>http://foo.com:123/<>&'\"</f3c><f4>http://foo.com:123/test/uri/b</f4><f5>http://foo.com:123/f5/x</f5></object>",
455 "<table><tr><td>f0</td><td><a href='http://foo.com:123/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='http://foo.com:123/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='http://foo.com:123/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='http://foo.com:123/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='http://foo.com:123/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1g</td><td><a href='http://foo.com:123/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='http://foo.com:123/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1j</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f1k</td><td><a href='http://foo.com:123/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='http://foo.com:123/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f1n</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='http://foo.com:123/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='http://foo.com:123/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='http://foo.com:123/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='http://foo.com:123/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2g</td><td><a href='http://foo.com:123/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='http://foo.com:123/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2j</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f2k</td><td><a href='http://foo.com:123/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='http://foo.com:123/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='http://foo.com:123'>foo.com:123</a></td></tr><tr><td>f2n</td><td><a href='http://foo.com:123/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='http://foo.com:123/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='http://foo.com:123/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='http://foo.com:123/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='http://foo.com:123/f5/x'>x</a></td></tr></table>",
456 "(f0=http://foo.com:123/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/f1d,f1e=http://foo.com:123/f1e/x/y,f1f=http://foo.com:123,f1g=http://foo.com:123/f1g/x,f1h=http://foo.com:123/f1h,f1i=http://foo.com:123,f1j=http://foo.com:123/..,f1k=http://foo.com:123/f1j/x,f1l=http://foo.com:123/f1k,f1m=http://foo.com:123,f1n=http://foo.com:123/..,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/f2d,f2e=http://foo.com:123/f2e/x/y,f2f=http://foo.com:123,f2g=http://foo.com:123/f2g/x,f2h=http://foo.com:123/f2h,f2i=http://foo.com:123,f2j=http://foo.com:123/..,f2k=http://foo.com:123/f2j/x,f2l=http://foo.com:123/f2k,f2m=http://foo.com:123,f2n=http://foo.com:123/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/%3C%3E%26%27%22,f3c=http://foo.com:123/<>&~'\",f4=http://foo.com:123/test/uri/b,f5=http://foo.com:123/f5/x)",
457 "f0=http://foo.com:123/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/f1d&f1e=http://foo.com:123/f1e/x/y&f1f=http://foo.com:123&f1g=http://foo.com:123/f1g/x&f1h=http://foo.com:123/f1h&f1i=http://foo.com:123&f1j=http://foo.com:123/..&f1k=http://foo.com:123/f1j/x&f1l=http://foo.com:123/f1k&f1m=http://foo.com:123&f1n=http://foo.com:123/..&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/f2d&f2e=http://foo.com:123/f2e/x/y&f2f=http://foo.com:123&f2g=http://foo.com:123/f2g/x&f2h=http://foo.com:123/f2h&f2i=http://foo.com:123&f2j=http://foo.com:123/..&f2k=http://foo.com:123/f2j/x&f2l=http://foo.com:123/f2k&f2m=http://foo.com:123&f2n=http://foo.com:123/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/%3C%3E%26~'%22&f4=http://foo.com:123/test/uri/b&f5=http://foo.com:123/f5/x",
458 "DE0022A26630B8687474703A2F2F666F6F2E636F6D3A3132332F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164B6687474703A2F2F666F6F2E636F6D3A3132332F663164A3663165BA687474703A2F2F666F6F2E636F6D3A3132332F6631652F782F79A3663166B2687474703A2F2F666F6F2E636F6D3A313233A3663167B8687474703A2F2F666F6F2E636F6D3A3132332F6631672F78A3663168B6687474703A2F2F666F6F2E636F6D3A3132332F663168A3663169B2687474703A2F2F666F6F2E636F6D3A313233A366316AB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA366316BB8687474703A2F2F666F6F2E636F6D3A3132332F66316A2F78A366316CB6687474703A2F2F666F6F2E636F6D3A3132332F66316BA366316DB2687474703A2F2F666F6F2E636F6D3A313233A366316EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264B6687474703A2F2F666F6F2E636F6D3A3132332F663264A3663265BA687474703A2F2F666F6F2E636F6D3A3132332F6632652F782F79A3663266B2687474703A2F2F666F6F2E636F6D3A313233A3663267B8687474703A2F2F666F6F2E636F6D3A3132332F6632672F78A3663268B6687474703A2F2F666F6F2E636F6D3A3132332F663268A3663269B2687474703A2F2F666F6F2E636F6D3A313233A366326AB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA366326BB8687474703A2F2F666F6F2E636F6D3A3132332F66326A2F78A366326CB6687474703A2F2F666F6F2E636F6D3A3132332F66326BA366326DB2687474703A2F2F666F6F2E636F6D3A313233A366326EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D922687474703A2F2F666F6F2E636F6D3A3132332F253343253345253236253237253232A3663363B8687474703A2F2F666F6F2E636F6D3A3132332F3C3E262722A26634BD687474703A2F2F666F6F2E636F6D3A3132332F746573742F7572692F62A26635B7687474703A2F2F666F6F2E636F6D3A3132332F66352F78",
459 "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/f0/x0'>\n<jp:f2f rdf:resource='http://foo.com:123'/>\n<jp:f4 rdf:resource='http://foo.com:123/test/uri/b'/>\n<jp:f1g rdf:resource='http://foo.com:123/f1g/x'/>\n<jp:f1l rdf:resource='http://foo.com:123/f1k'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1j rdf:resource='http://foo.com:123/..'/>\n<jp:f1n rdf:resource='http://foo.com:123/..'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f2h rdf:resource='http://foo.com:123/f2h'/>\n<jp:f1f rdf:resource='http://foo.com:123'/>\n<jp:f2m rdf:resource='http://foo.com:123'/>\n<jp:f5 rdf:resource='http://foo.com:123/f5/x'/>\n<jp:f1m rdf:resource='http://foo.com:123'/>\n<jp:f2i rdf:resource='http://foo.com:123'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1k rdf:resource='http://foo.com:123/f1j/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/f2e/x/y'/>\n<jp:f2d rdf:resource='http://foo.com:123/f2d'/>\n<jp:f2n rdf:resource='http://foo.com:123/..'/>\n<jp:f2j rdf:resource='http://foo.com:123/..'/>\n<jp:f2k rdf:resource='http://foo.com:123/f2j/x'/>\n<jp:f1d rdf:resource='http://foo.com:123/f1d'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1e rdf:resource='http://foo.com:123/f1e/x/y'/>\n<jp:f2l rdf:resource='http://foo.com:123/f2k'/>\n<jp:f1h rdf:resource='http://foo.com:123/f1h'/>\n<jp:f3b rdf:resource='http://foo.com:123/%3C%3E%26%27%22'/>\n<jp:f3c rdf:resource='http://foo.com:123/<>&'"'/>\n<jp:f1i rdf:resource='http://foo.com:123'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/f2g/x'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n</rdf:Description>\n</rdf:RDF>\n"
460 )
461 ),
462 tester(
463 "NoContextNoResource-1-ROOT_RELATIVE",
464 input(
465 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "http://foo.com:123","","","/path"
466 ),
467 results(
468 "{f0:'/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/f1d',f1e:'/f1e/x/y',f1f:'/',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/f2d',f2e:'/f2e/x/y',f2f:'/',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/%3C%3E%26%27%22',f3c:'/<>&\\'\"',f4:'/test/uri/b',f5:'/f5/x'}",
469 "<object f0='/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/f1d</f1d><f1e>/f1e/x/y</f1e><f1f>/</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/f2d</f2d><f2e>/f2e/x/y</f2e><f2f>/</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/%3C%3E%26%27%22</f3b><f3c>/<>&'\"</f3c><f4>/test/uri/b</f4><f5>/f5/x</f5></object>",
470 "<table><tr><td>f0</td><td><a href='/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/'>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/'>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/f5/x'>x</a></td></tr></table>",
471 "(f0=/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/f1d,f1e=/f1e/x/y,f1f=/,f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/f2d,f2e=/f2e/x/y,f2f=/,f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/%3C%3E%26%27%22,f3c=/<>&~'\",f4=/test/uri/b,f5=/f5/x)",
472 "f0=/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/f1d&f1e=/f1e/x/y&f1f=/&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/f2d&f2e=/f2e/x/y&f2f=/&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/%253C%253E%2526%2527%2522&f3c=/%3C%3E%26~'%22&f4=/test/uri/b&f5=/f5/x",
473 "DE0022A26630A62F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A42F663164A3663165A82F6631652F782F79A3663166A12FA3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A42F663264A3663265A82F6632652F782F79A3663266A12FA3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B02F253343253345253236253237253232A3663363A62F3C3E262722A26634AB2F746573742F7572692F62A26635A52F66352F78",
474 "<rdf:RDF>\n<rdf:Description rdf:about='/f0/x0'>\n<jp:f2n>/..</jp:f2n>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1j>/..</jp:f1j>\n<jp:f1n>/..</jp:f1n>\n<jp:f1i>/</jp:f1i>\n<jp:f5>/f5/x</jp:f5>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1m>/</jp:f1m>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2f>/</jp:f2f>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2i>/</jp:f2i>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f4>/test/uri/b</jp:f4>\n<jp:f1f>/</jp:f1f>\n<jp:f3c>/<>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2e>/f2e/x/y</jp:f2e>\n<jp:f2m>/</jp:f2m>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1e>/f1e/x/y</jp:f1e>\n<jp:f3b>/%3C%3E%26%27%22</jp:f3b>\n<jp:f1d>/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j>/..</jp:f2j>\n<jp:f2d>/f2d</jp:f2d>\n<jp:f2g>/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
475 )
476 ),
477 tester(
478 "NoContextNoResource-1-NONE",
479 input(
480 UriResolution.NONE, UriRelativity.RESOURCE, "http://foo.com:123","","","/path"
481 ),
482 results(
483 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
484 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
485 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
486 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
487 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
488 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
489 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2i>/</jp:f2i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2n>/..</jp:f2n>\n<jp:f2j>/..</jp:f2j>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1j>/..</jp:f1j>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f1i>/</jp:f1i>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2g>/f2g/x</jp:f2g>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n</rdf:Description>\n</rdf:RDF>\n"
490 )
491 ),
492 tester(
493 "NoAuthorityNoContextNoResource-1-ABSOLUTE",
494 input(
495 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "","","","/path"
496 ),
497 results(
498 "{f0:'/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/f1d',f1e:'/f1e/x/y',f1f:'/',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/f2d',f2e:'/f2e/x/y',f2f:'/',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/%3C%3E%26%27%22',f3c:'/<>&\\'\"',f4:'/test/uri/b',f5:'/f5/x'}",
499 "<object f0='/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/f1d</f1d><f1e>/f1e/x/y</f1e><f1f>/</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/f2d</f2d><f2e>/f2e/x/y</f2e><f2f>/</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/%3C%3E%26%27%22</f3b><f3c>/<>&'\"</f3c><f4>/test/uri/b</f4><f5>/f5/x</f5></object>",
500 "<table><tr><td>f0</td><td><a href='/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/'>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/'>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/f5/x'>x</a></td></tr></table>",
501 "(f0=/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/f1d,f1e=/f1e/x/y,f1f=/,f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/f2d,f2e=/f2e/x/y,f2f=/,f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/%3C%3E%26%27%22,f3c=/<>&~'\",f4=/test/uri/b,f5=/f5/x)",
502 "f0=/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/f1d&f1e=/f1e/x/y&f1f=/&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/f2d&f2e=/f2e/x/y&f2f=/&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/%253C%253E%2526%2527%2522&f3c=/%3C%3E%26~'%22&f4=/test/uri/b&f5=/f5/x",
503 "DE0022A26630A62F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A42F663164A3663165A82F6631652F782F79A3663166A12FA3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A42F663264A3663265A82F6632652F782F79A3663266A12FA3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B02F253343253345253236253237253232A3663363A62F3C3E262722A26634AB2F746573742F7572692F62A26635A52F66352F78",
504 "<rdf:RDF>\n<rdf:Description rdf:about='/f0/x0'>\n<jp:f2n>/..</jp:f2n>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1j>/..</jp:f1j>\n<jp:f1n>/..</jp:f1n>\n<jp:f1i>/</jp:f1i>\n<jp:f5>/f5/x</jp:f5>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1m>/</jp:f1m>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2f>/</jp:f2f>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2i>/</jp:f2i>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f4>/test/uri/b</jp:f4>\n<jp:f1f>/</jp:f1f>\n<jp:f3c>/<>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2e>/f2e/x/y</jp:f2e>\n<jp:f2m>/</jp:f2m>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1e>/f1e/x/y</jp:f1e>\n<jp:f3b>/%3C%3E%26%27%22</jp:f3b>\n<jp:f1d>/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j>/..</jp:f2j>\n<jp:f2d>/f2d</jp:f2d>\n<jp:f2g>/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
505 )
506 ),
507 tester(
508 "NoAuthorityNoContextNoResource-1-ROOT_RELATIVE",
509 input(
510 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "","","","/path"
511 ),
512 results(
513 "{f0:'/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/f1d',f1e:'/f1e/x/y',f1f:'/',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/f2d',f2e:'/f2e/x/y',f2f:'/',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/%3C%3E%26%27%22',f3c:'/<>&\\'\"',f4:'/test/uri/b',f5:'/f5/x'}",
514 "<object f0='/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/f1d</f1d><f1e>/f1e/x/y</f1e><f1f>/</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/f2d</f2d><f2e>/f2e/x/y</f2e><f2f>/</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/%3C%3E%26%27%22</f3b><f3c>/<>&'\"</f3c><f4>/test/uri/b</f4><f5>/f5/x</f5></object>",
515 "<table><tr><td>f0</td><td><a href='/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/'>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/'>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/f5/x'>x</a></td></tr></table>",
516 "(f0=/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/f1d,f1e=/f1e/x/y,f1f=/,f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/f2d,f2e=/f2e/x/y,f2f=/,f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/%3C%3E%26%27%22,f3c=/<>&~'\",f4=/test/uri/b,f5=/f5/x)",
517 "f0=/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/f1d&f1e=/f1e/x/y&f1f=/&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/f2d&f2e=/f2e/x/y&f2f=/&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/%253C%253E%2526%2527%2522&f3c=/%3C%3E%26~'%22&f4=/test/uri/b&f5=/f5/x",
518 "DE0022A26630A62F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A42F663164A3663165A82F6631652F782F79A3663166A12FA3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A42F663264A3663265A82F6632652F782F79A3663266A12FA3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B02F253343253345253236253237253232A3663363A62F3C3E262722A26634AB2F746573742F7572692F62A26635A52F66352F78",
519 "<rdf:RDF>\n<rdf:Description rdf:about='/f0/x0'>\n<jp:f2n>/..</jp:f2n>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1j>/..</jp:f1j>\n<jp:f1n>/..</jp:f1n>\n<jp:f1i>/</jp:f1i>\n<jp:f5>/f5/x</jp:f5>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1m>/</jp:f1m>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2f>/</jp:f2f>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2i>/</jp:f2i>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f4>/test/uri/b</jp:f4>\n<jp:f1f>/</jp:f1f>\n<jp:f3c>/<>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2e>/f2e/x/y</jp:f2e>\n<jp:f2m>/</jp:f2m>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1e>/f1e/x/y</jp:f1e>\n<jp:f3b>/%3C%3E%26%27%22</jp:f3b>\n<jp:f1d>/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j>/..</jp:f2j>\n<jp:f2d>/f2d</jp:f2d>\n<jp:f2g>/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
520 )
521 ),
522 tester(
523 "NoAuthorityNoContextNoResource-1-NONE",
524 input(
525 UriResolution.NONE, UriRelativity.RESOURCE, "","","","/path"
526 ),
527 results(
528 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
529 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
530 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
531 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
532 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
533 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
534 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2i>/</jp:f2i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2n>/..</jp:f2n>\n<jp:f2j>/..</jp:f2j>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1j>/..</jp:f1j>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f1i>/</jp:f1i>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2g>/f2g/x</jp:f2g>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n</rdf:Description>\n</rdf:RDF>\n"
535 )
536 ),
537 tester(
538 "Nothing-1-ABSOLUTE",
539 input(
540 UriResolution.ABSOLUTE, UriRelativity.RESOURCE, "","","",""
541 ),
542 results(
543 "{f0:'/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/f1d',f1e:'/f1e/x/y',f1f:'/',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/f2d',f2e:'/f2e/x/y',f2f:'/',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/%3C%3E%26%27%22',f3c:'/<>&\\'\"',f4:'/test/uri/b',f5:'/f5/x'}",
544 "<object f0='/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/f1d</f1d><f1e>/f1e/x/y</f1e><f1f>/</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/f2d</f2d><f2e>/f2e/x/y</f2e><f2f>/</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/%3C%3E%26%27%22</f3b><f3c>/<>&'\"</f3c><f4>/test/uri/b</f4><f5>/f5/x</f5></object>",
545 "<table><tr><td>f0</td><td><a href='/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/'>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/'>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/f5/x'>x</a></td></tr></table>",
546 "(f0=/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/f1d,f1e=/f1e/x/y,f1f=/,f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/f2d,f2e=/f2e/x/y,f2f=/,f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/%3C%3E%26%27%22,f3c=/<>&~'\",f4=/test/uri/b,f5=/f5/x)",
547 "f0=/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/f1d&f1e=/f1e/x/y&f1f=/&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/f2d&f2e=/f2e/x/y&f2f=/&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/%253C%253E%2526%2527%2522&f3c=/%3C%3E%26~'%22&f4=/test/uri/b&f5=/f5/x",
548 "DE0022A26630A62F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A42F663164A3663165A82F6631652F782F79A3663166A12FA3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A42F663264A3663265A82F6632652F782F79A3663266A12FA3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B02F253343253345253236253237253232A3663363A62F3C3E262722A26634AB2F746573742F7572692F62A26635A52F66352F78",
549 "<rdf:RDF>\n<rdf:Description rdf:about='/f0/x0'>\n<jp:f2n>/..</jp:f2n>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1j>/..</jp:f1j>\n<jp:f1n>/..</jp:f1n>\n<jp:f1i>/</jp:f1i>\n<jp:f5>/f5/x</jp:f5>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1m>/</jp:f1m>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2f>/</jp:f2f>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2i>/</jp:f2i>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f4>/test/uri/b</jp:f4>\n<jp:f1f>/</jp:f1f>\n<jp:f3c>/<>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2e>/f2e/x/y</jp:f2e>\n<jp:f2m>/</jp:f2m>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1e>/f1e/x/y</jp:f1e>\n<jp:f3b>/%3C%3E%26%27%22</jp:f3b>\n<jp:f1d>/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j>/..</jp:f2j>\n<jp:f2d>/f2d</jp:f2d>\n<jp:f2g>/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
550 )
551 ),
552 tester(
553 "Nothing-1-ROOT_RELATIVE",
554 input(
555 UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, "","","",""
556 ),
557 results(
558 "{f0:'/f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'/f1d',f1e:'/f1e/x/y',f1f:'/',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'/f2d',f2e:'/f2e/x/y',f2f:'/',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'/%3C%3E%26%27%22',f3c:'/<>&\\'\"',f4:'/test/uri/b',f5:'/f5/x'}",
559 "<object f0='/f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>/f1d</f1d><f1e>/f1e/x/y</f1e><f1f>/</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>/f2d</f2d><f2e>/f2e/x/y</f2e><f2f>/</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>/%3C%3E%26%27%22</f3b><f3c>/<>&'\"</f3c><f4>/test/uri/b</f4><f5>/f5/x</f5></object>",
560 "<table><tr><td>f0</td><td><a href='/f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='/f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='/f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href='/'>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='/f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='/f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href='/'>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='/%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='/<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='/test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='/f5/x'>x</a></td></tr></table>",
561 "(f0=/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/f1d,f1e=/f1e/x/y,f1f=/,f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/f2d,f2e=/f2e/x/y,f2f=/,f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/%3C%3E%26%27%22,f3c=/<>&~'\",f4=/test/uri/b,f5=/f5/x)",
562 "f0=/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/f1d&f1e=/f1e/x/y&f1f=/&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/f2d&f2e=/f2e/x/y&f2f=/&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/%253C%253E%2526%2527%2522&f3c=/%3C%3E%26~'%22&f4=/test/uri/b&f5=/f5/x",
563 "DE0022A26630A62F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A42F663164A3663165A82F6631652F782F79A3663166A12FA3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A42F663264A3663265A82F6632652F782F79A3663266A12FA3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B02F253343253345253236253237253232A3663363A62F3C3E262722A26634AB2F746573742F7572692F62A26635A52F66352F78",
564 "<rdf:RDF>\n<rdf:Description rdf:about='/f0/x0'>\n<jp:f2n>/..</jp:f2n>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1j>/..</jp:f1j>\n<jp:f1n>/..</jp:f1n>\n<jp:f1i>/</jp:f1i>\n<jp:f5>/f5/x</jp:f5>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1m>/</jp:f1m>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2f>/</jp:f2f>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2i>/</jp:f2i>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f4>/test/uri/b</jp:f4>\n<jp:f1f>/</jp:f1f>\n<jp:f3c>/<>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2e>/f2e/x/y</jp:f2e>\n<jp:f2m>/</jp:f2m>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1e>/f1e/x/y</jp:f1e>\n<jp:f3b>/%3C%3E%26%27%22</jp:f3b>\n<jp:f1d>/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j>/..</jp:f2j>\n<jp:f2d>/f2d</jp:f2d>\n<jp:f2g>/f2g/x</jp:f2g>\n</rdf:Description>\n</rdf:RDF>\n"
565 )
566 ),
567 tester(
568 "Nothing-1-NONE",
569 input(
570 UriResolution.NONE, UriRelativity.RESOURCE, "","","",""
571 ),
572 results(
573 "{f0:'f0/x0',f1a:'http://www.apache.org/f1a',f1b:'/f1b',f1c:'/f1c/x/y',f1d:'f1d',f1e:'f1e/x/y',f1f:'',f1g:'/f1g/x',f1h:'/f1h',f1i:'/',f1j:'/..',f1k:'/f1j/x',f1l:'/f1k',f1m:'/',f1n:'/..',f2a:'http://www.apache.org/f2a',f2b:'/f2b',f2c:'/f2c/x/y',f2d:'f2d',f2e:'f2e/x/y',f2f:'',f2g:'/f2g/x',f2h:'/f2h',f2i:'/',f2j:'/..',f2k:'/f2j/x',f2l:'/f2k',f2m:'/',f2n:'/..',f3a:'http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b:'%3C%3E%26%27%22',f3c:'<>&\\'\"',f4:'test/uri/b',f5:'f5/x'}",
574 "<object f0='f0/x0'><f1a>http://www.apache.org/f1a</f1a><f1b>/f1b</f1b><f1c>/f1c/x/y</f1c><f1d>f1d</f1d><f1e>f1e/x/y</f1e><f1f>_xE000_</f1f><f1g>/f1g/x</f1g><f1h>/f1h</f1h><f1i>/</f1i><f1j>/..</f1j><f1k>/f1j/x</f1k><f1l>/f1k</f1l><f1m>/</f1m><f1n>/..</f1n><f2a>http://www.apache.org/f2a</f2a><f2b>/f2b</f2b><f2c>/f2c/x/y</f2c><f2d>f2d</f2d><f2e>f2e/x/y</f2e><f2f>_xE000_</f2f><f2g>/f2g/x</f2g><f2h>/f2h</f2h><f2i>/</f2i><f2j>/..</f2j><f2k>/f2j/x</f2k><f2l>/f2k</f2l><f2m>/</f2m><f2n>/..</f2n><f3a>http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar</f3a><f3b>%3C%3E%26%27%22</f3b><f3c><>&'\"</f3c><f4>test/uri/b</f4><f5>f5/x</f5></object>",
575 "<table><tr><td>f0</td><td><a href='f0/x0'>x0</a></td></tr><tr><td>f1a</td><td><a href='http://www.apache.org/f1a'>f1a</a></td></tr><tr><td>f1b</td><td><a href='/f1b'>f1b</a></td></tr><tr><td>f1c</td><td><a href='/f1c/x/y'>y</a></td></tr><tr><td>f1d</td><td><a href='f1d'>f1d</a></td></tr><tr><td>f1e</td><td><a href='f1e/x/y'>y</a></td></tr><tr><td>f1f</td><td><a href=''>/</a></td></tr><tr><td>f1g</td><td><a href='/f1g/x'>x</a></td></tr><tr><td>f1h</td><td><a href='/f1h'>f1h</a></td></tr><tr><td>f1i</td><td><a href='/'>/</a></td></tr><tr><td>f1j</td><td><a href='/..'>..</a></td></tr><tr><td>f1k</td><td><a href='/f1j/x'>x</a></td></tr><tr><td>f1l</td><td><a href='/f1k'>f1k</a></td></tr><tr><td>f1m</td><td><a href='/'>/</a></td></tr><tr><td>f1n</td><td><a href='/..'>..</a></td></tr><tr><td>f2a</td><td><a href='http://www.apache.org/f2a'>f2a</a></td></tr><tr><td>f2b</td><td><a href='/f2b'>f2b</a></td></tr><tr><td>f2c</td><td><a href='/f2c/x/y'>y</a></td></tr><tr><td>f2d</td><td><a href='f2d'>f2d</a></td></tr><tr><td>f2e</td><td><a href='f2e/x/y'>y</a></td></tr><tr><td>f2f</td><td><a href=''>/</a></td></tr><tr><td>f2g</td><td><a href='/f2g/x'>x</a></td></tr><tr><td>f2h</td><td><a href='/f2h'>f2h</a></td></tr><tr><td>f2i</td><td><a href='/'>/</a></td></tr><tr><td>f2j</td><td><a href='/..'>..</a></td></tr><tr><td>f2k</td><td><a href='/f2j/x'>x</a></td></tr><tr><td>f2l</td><td><a href='/f2k'>f2k</a></td></tr><tr><td>f2m</td><td><a href='/'>/</a></td></tr><tr><td>f2n</td><td><a href='/..'>..</a></td></tr><tr><td>f3a</td><td><a href='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'>MY_LABEL</a></td></tr><tr><td>f3b</td><td><a href='%3C%3E%26%27%22'><>&'\"</a></td></tr><tr><td>f3c</td><td><a href='<>&'"'><>&'\"</a></td></tr><tr><td>f4</td><td><a href='test/uri/b'>b</a></td></tr><tr><td>f5</td><td><a href='f5/x'>x</a></td></tr></table>",
576 "(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/f1g/x,f1h=/f1h,f1i=/,f1j=/..,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/f2g/x,f2h=/f2h,f2i=/,f2j=/..,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
577 "f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/f1g/x&f1h=/f1h&f1i=/&f1j=/..&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/f2g/x&f2h=/f2h&f2i=/&f2j=/..&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
578 "DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167A62F6631672F78A3663168A42F663168A3663169A12FA366316AA32F2E2EA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267A62F6632672F78A3663268A42F663268A3663269A12FA366326AA32F2E2EA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
579 "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2i>/</jp:f2i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h>/f1h</jp:f1h>\n<jp:f2n>/..</jp:f2n>\n<jp:f2j>/..</jp:f2j>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1g>/f1g/x</jp:f1g>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1j>/..</jp:f1j>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f1i>/</jp:f1i>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2g>/f2g/x</jp:f2g>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2h>/f2h</jp:f2h>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n</rdf:Description>\n</rdf:RDF>\n"
580 )
581 )
582 };
583
584 static Tester[] testers() {
585 return TESTERS;
586 }
587
588 @ParameterizedTest
589 @MethodSource("testers")
590 void a1_jsonSerialize(Tester t) throws Exception {
591 var s = JsonSerializer.create().json5().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
592 t.testSerialize(s, t.results.json, new TestURI());
593 }
594
595 @ParameterizedTest
596 @MethodSource("testers")
597 void a1c_jsonSerialize_usingConfig(Tester t) throws Exception {
598 var s = JsonSerializer.create().json5().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
599 t.testSerialize(s, t.results.json, new TestURIc());
600 }
601
602 @ParameterizedTest
603 @MethodSource("testers")
604 void a2_testJsonParse(Tester t) throws Exception {
605 var s = JsonSerializer.create().json5().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
606 t.testParse(s, JsonParser.DEFAULT, new TestURI());
607 }
608
609 @ParameterizedTest
610 @MethodSource("testers")
611 void a2c_testJsonParse_usingConfig(Tester t) throws Exception {
612 var s = JsonSerializer.create().json5().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
613 t.testParse(s, JsonParser.DEFAULT.copy().applyAnnotations(TestURIc.class).build(), new TestURIc());
614 }
615
616 @ParameterizedTest
617 @MethodSource("testers")
618 void b1_testXmlSerialize(Tester t) throws Exception {
619 var s = XmlSerializer.create().sq().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
620 t.testSerialize(s, t.results.xml, new TestURI());
621 }
622
623 @ParameterizedTest
624 @MethodSource("testers")
625 void b1c_testXmlSerialize_usingConfig(Tester t) throws Exception {
626 var s = XmlSerializer.create().sq().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
627 t.testSerialize(s, t.results.xml, new TestURIc());
628 }
629
630 @ParameterizedTest
631 @MethodSource("testers")
632 void b2_testXmlParse(Tester t) throws Exception {
633 var s = XmlSerializer.create().sq().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
634 t.testParse(s, XmlParser.DEFAULT, new TestURI());
635 }
636
637 @ParameterizedTest
638 @MethodSource("testers")
639 void b2c_testXmlParse_usingConfig(Tester t) throws Exception {
640 var s = XmlSerializer.create().sq().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
641 t.testParse(s, XmlParser.DEFAULT.copy().applyAnnotations(TestURIc.Config.class).build(), new TestURIc());
642 }
643
644 @ParameterizedTest
645 @MethodSource("testers")
646 void c1_testHtmlSerialize(Tester t) throws Exception {
647 var s = HtmlSerializer.create().sq().uriAnchorText(AnchorText.LAST_TOKEN).uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
648 t.testSerialize(s, t.results.html, new TestURI());
649 }
650
651 @ParameterizedTest
652 @MethodSource("testers")
653 void c1c_testHtmlSerialize_usingConfig(Tester t) throws Exception {
654 var s = HtmlSerializer.create().sq().uriAnchorText(AnchorText.LAST_TOKEN).uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
655 t.testSerialize(s, t.results.html, new TestURIc());
656 }
657
658 @ParameterizedTest
659 @MethodSource("testers")
660 void c2_testHtmlParse(Tester t) throws Exception {
661 var s = HtmlSerializer.create().sq().uriAnchorText(AnchorText.LAST_TOKEN).uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
662 t.testParse(s, HtmlParser.DEFAULT, new TestURI());
663 }
664
665 @ParameterizedTest
666 @MethodSource("testers")
667 void c2c_testHtmlParse_usingConfig(Tester t) throws Exception {
668 var s = HtmlSerializer.create().sq().uriAnchorText(AnchorText.LAST_TOKEN).uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
669 t.testParse(s, HtmlParser.DEFAULT.copy().applyAnnotations(TestURIc.Config.class).build(), new TestURIc());
670 }
671
672 @ParameterizedTest
673 @MethodSource("testers")
674 void d1_testUonSerialize(Tester t) throws Exception {
675 var s = UonSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
676 t.testSerialize(s, t.results.uon, new TestURI());
677 }
678
679 @ParameterizedTest
680 @MethodSource("testers")
681 void d1c_testUonSerialize_usingConfig(Tester t) throws Exception {
682 var s = UonSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
683 t.testSerialize(s, t.results.uon, new TestURIc());
684 }
685
686 @ParameterizedTest
687 @MethodSource("testers")
688 void d2_testUonParse(Tester t) throws Exception {
689 var s = UonSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
690 t.testParse(s, UonParser.DEFAULT, new TestURI());
691 }
692
693 @ParameterizedTest
694 @MethodSource("testers")
695 void d2c_testUonParse_usingConfig(Tester t) throws Exception {
696 var s = UonSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
697 t.testParse(s, UonParser.DEFAULT.copy().applyAnnotations(TestURIc.Config.class).build(), new TestURIc());
698 }
699
700 @ParameterizedTest
701 @MethodSource("testers")
702 void e1_testUrlEncodingSerialize(Tester t) throws Exception {
703 var s = UrlEncodingSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
704 t.testSerialize(s, t.results.urlEncoding, new TestURI());
705 }
706
707 @ParameterizedTest
708 @MethodSource("testers")
709 void e1c_testUrlEncodingSerialize_usingConfig(Tester t) throws Exception {
710 var s = UrlEncodingSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
711 t.testSerialize(s, t.results.urlEncoding, new TestURIc());
712 }
713
714 @ParameterizedTest
715 @MethodSource("testers")
716 void e2_testUrlEncodingParse(Tester t) throws Exception {
717 var s = UrlEncodingSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
718 t.testParse(s, UrlEncodingParser.DEFAULT, new TestURI());
719 }
720
721 @ParameterizedTest
722 @MethodSource("testers")
723 void e2c_testUrlEncodingParse_usingConfig(Tester t) throws Exception {
724 var s = UrlEncodingSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
725 t.testParse(s, UrlEncodingParser.DEFAULT.copy().applyAnnotations(TestURIc.Config.class).build(), new TestURIc());
726 }
727
728 @ParameterizedTest
729 @MethodSource("testers")
730 void f1_testMsgPackSerialize(Tester t) throws Exception {
731 var s = MsgPackSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
732 t.testSerialize(s, t.results.msgPack, new TestURI());
733 }
734
735 @ParameterizedTest
736 @MethodSource("testers")
737 void f1c_testMsgPackSerialize_usingConfig(Tester t) throws Exception {
738 var s = MsgPackSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
739 t.testSerialize(s, t.results.msgPack, new TestURIc());
740 }
741
742 @ParameterizedTest
743 @MethodSource("testers")
744 void f2_testMsgPackParse(Tester t) throws Exception {
745 var s = MsgPackSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).build();
746 t.testParse(s, MsgPackParser.DEFAULT, new TestURI());
747 }
748
749 @ParameterizedTest
750 @MethodSource("testers")
751 void f2c_testMsgPackParse_usingConfig(Tester t) throws Exception {
752 var s = MsgPackSerializer.create().uriContext(t.input.context).uriResolution(t.input.resolution).uriRelativity(t.input.relativity).applyAnnotations(TestURIc.Config.class).build();
753 t.testParse(s, MsgPackParser.DEFAULT.copy().applyAnnotations(TestURIc.Config.class).build(), new TestURIc());
754 }
755 }