<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="uritest.xsl" type="text/xsl"?>

<!-- URI Reference resolver test runner -->
<!-- $Id: uritest.xml,v 1.1 2006/03/17 16:56:26 Dave Exp $ -->

<tests>
  <strict>true</strict>
  <test>
    <num>e1</num>
    <base></base>
    <in>test</in>
    <expect>test</expect>
  </test>
  <test>
    <num>e2</num>
    <base>/dave</base>
    <in></in>
    <expect>/dave</expect>
  </test>
  <test>
    <num>e3</num>
    <base></base>
    <in></in>
    <expect></expect>
  </test>
  <test>
    <num>d1</num>
    <base>/dave</base>
    <in>test</in>
    <expect>/test</expect>
  </test>
  <test>
    <num>d2</num>
    <base>/dave/</base>
    <in>test</in>
    <expect>/dave/test</expect>
  </test>
  <test>
    <num>d3</num>
    <base>/dave</base>
    <in>?test</in>
    <expect>/dave?test</expect>
  </test>
  <test>
    <num>d4</num>
    <base>/dave/</base>
    <in>?test</in>
    <expect>/dave/?test</expect>
  </test>
  <test>
    <num>d5</num>
    <base>/dave</base>
    <in>x?test</in>
    <expect>/x?test</expect>
  </test>
  <test>
    <num>d6</num>
    <base>/dave/</base>
    <in>x?test</in>
    <expect>/dave/x?test</expect>
  </test>
  <test>
    <num>d7</num>
    <base>/dave</base>
    <in>#test</in>
    <expect>/dave#test</expect>
  </test>
  <test>
    <num>d8</num>
    <base>/dave/</base>
    <in>#test</in>
    <expect>/dave/#test</expect>
  </test>
  <test>
    <num>d9</num>
    <base>/dave#test</base>
    <in>?x</in>
    <expect>/dave?x</expect>
  </test>
  <test>
    <num>d10</num>
    <base>dave</base>
    <in>../x</in>
    <expect>../x</expect>
  </test>
  <test>
    <num>d11</num>
    <base>dave/y</base>
    <in>../x</in>
    <expect>x</expect>
  </test>
  <test>
    <num>d11b</num>
    <base>dave/y</base>
    <in>../../x</in>
    <expect>../x</expect>
  </test>
  <test>
    <num>d11c</num>
    <base>dave/y</base>
    <in>../../../x</in>
    <expect>../../x</expect>
  </test>
  <test>
    <num>d11d</num>
    <base>dave/y</base>
    <in>../z/../x</in>
    <expect>x</expect>
  </test>
  <test>
    <num>1</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g:h</in>
    <expect>g:h</expect>
  </test>
  <test>
    <num>2</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g</in>
    <expect>http://a/b/c/g</expect>
  </test>
  <test>
    <num>3</num>
    <base>http://a/b/c/d;p?q</base>
    <in>./g</in>
    <expect>http://a/b/c/g</expect>
  </test>
  <test>
    <num>4</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g/</in>
    <expect>http://a/b/c/g/</expect>
  </test>
  <test>
    <num>5</num>
    <base>http://a/b/c/d;p?q</base>
    <in>/g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>6</num>
    <base>http://a/b/c/d;p?q</base>
    <in>//g</in>
    <expect>http://g</expect>
  </test>
  <test>
    <num>7</num>
    <base>http://a/b/c/d;p?q</base>
    <in>?y</in>
    <expect>http://a/b/c/d;p?y</expect>
  </test>
  <test>
    <num>8</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g?y</in>
    <expect>http://a/b/c/g?y</expect>
  </test>
  <test>
    <num>9</num>
    <base>http://a/b/c/d;p?q</base>
    <in>#s</in>
    <expect>http://a/b/c/d;p?q#s</expect>
  </test>
  <test>
    <num>10</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g#s</in>
    <expect>http://a/b/c/g#s</expect>
  </test>
  <test>
    <num>11</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g?y#s</in>
    <expect>http://a/b/c/g?y#s</expect>
  </test>
  <test>
    <num>12</num>
    <base>http://a/b/c/d;p?q</base>
    <in>;x</in>
    <expect>http://a/b/c/;x</expect>
  </test>
  <test>
    <num>13</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g;x</in>
    <expect>http://a/b/c/g;x</expect>
  </test>
  <test>
    <num>14</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g;x?y#s</in>
    <expect>http://a/b/c/g;x?y#s</expect>
  </test>
  <test>
    <num>15</num>
    <base>http://a/b/c/d;p?q</base>
    <in></in>
    <expect>http://a/b/c/d;p?q</expect>
  </test>
  <test>
    <num>16</num>
    <base>http://a/b/c/d;p?q</base>
    <in>.</in>
    <expect>http://a/b/c/</expect>
  </test>
  <test>
    <num>17</num>
    <base>http://a/b/c/d;p?q</base>
    <in>./</in>
    <expect>http://a/b/c/</expect>
  </test>
  <test>
    <num>18</num>
    <base>http://a/b/c/d;p?q</base>
    <in>..</in>
    <expect>http://a/b/</expect>
  </test>
  <test>
    <num>19</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../</in>
    <expect>http://a/b/</expect>
  </test>
  <test>
    <num>20</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../g</in>
    <expect>http://a/b/g</expect>
  </test>
  <test>
    <num>21</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../..</in>
    <expect>http://a/</expect>
  </test>
  <test>
    <num>22</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../../</in>
    <expect>http://a/</expect>
  </test>
  <test>
    <num>23</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../../g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>31</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../../../g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>32</num>
    <base>http://a/b/c/d;p?q</base>
    <in>../../../../g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>41</num>
    <base>http://a/b/c/d;p?q</base>
    <in>/./g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>42</num>
    <base>http://a/b/c/d;p?q</base>
    <in>/../g</in>
    <expect>http://a/g</expect>
  </test>
  <test>
    <num>43</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g.</in>
    <expect>http://a/b/c/g.</expect>
  </test>
  <test>
    <num>44</num>
    <base>http://a/b/c/d;p?q</base>
    <in>.g</in>
    <expect>http://a/b/c/.g</expect>
  </test>
  <test>
    <num>45</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g..</in>
    <expect>http://a/b/c/g..</expect>
  </test>
  <test>
    <num>46</num>
    <base>http://a/b/c/d;p?q</base>
    <in>..g</in>
    <expect>http://a/b/c/..g</expect>
  </test>
  <test>
    <num>51</num>
    <base>http://a/b/c/d;p?q</base>
    <in>./../g</in>
    <expect>http://a/b/g</expect>
  </test>
  <test>
    <num>52</num>
    <base>http://a/b/c/d;p?q</base>
    <in>./g/.</in>
    <expect>http://a/b/c/g/</expect>
  </test>
  <test>
    <num>53</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g/./h</in>
    <expect>http://a/b/c/g/h</expect>
  </test>
  <test>
    <num>54</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g/../h</in>
    <expect>http://a/b/c/h</expect>
  </test>
  <test>
    <num>55</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g;x=1/./y</in>
    <expect>http://a/b/c/g;x=1/y</expect>
  </test>
  <test>
    <num>56</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g;x=1/../y</in>
    <expect>http://a/b/c/y</expect>
  </test>
  <test>
    <num>61</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g?y/./x</in>
    <expect>http://a/b/c/g?y/./x</expect>
  </test>
  <test>
    <num>62</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g?y/../x</in>
    <expect>http://a/b/c/g?y/../x</expect>
  </test>
  <test>
    <num>63</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g#s/./x</in>
    <expect>http://a/b/c/g#s/./x</expect>
  </test>
  <test>
    <num>64</num>
    <base>http://a/b/c/d;p?q</base>
    <in>g#s/../x</in>
    <expect>http://a/b/c/g#s/../x</expect>
  </test>
  <test>
    <num>71a (strict)</num>
    <base>http://a/b/c/d;p?q</base>
    <in>http:g</in>
    <expect>http:g</expect>
  </test>
  <!--
      <test>
      <num>71b (compat)</num>
      <base>http://a/b/c/d;p?q</base>
      <in>http:g</in>
      <expect>http://a/b/c/g</expect>
      </test>
  -->
  <test>
    <num>81</num>
    <base>http://a/b/c/d;p?q</base>
    <in>./g:h</in>
    <expect>http://a/b/c/g:h</expect>
  </test>
</tests>
