<?xml version="1.0" encoding="ISO-8859-1"?>
<tc:test-cases xmlns:tc="mailto:julian.reschke@greenbytes.de?subject=httpredirects">
  
  <tc:ua group="Firefox" name="FF50">Firefox 50</tc:ua>
  <tc:ua name="MSIE11" group="MSIE">Microsoft IE 11.576</tc:ua>
  <tc:ua name="Safari">Safari 7</tc:ua>
  <tc:ua name="Chr55">Google Chrome 55</tc:ua>
  <tc:ua name="Konq">Konqueror 5.0.97</tc:ua>

  <tc:group name="300 (Multiple Choices)" anchor="l-300">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.300">status code 300</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t300empty">
      <tc:description>Status code 300, no Location header field, no content</tc:description>
      <tc:status>300</tc:status>
      
      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t300body">
      <tc:description>Status code 300, no Location header field, with body</tc:description>
      <tc:status>300</tc:status>
      <tc:body>300 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t300loc">
      <tc:description>Status code 300, Location header field, no body</tc:description>
      <tc:status>300</tc:status>
      <tc:location>300.txt</tc:location>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t300bodyandloc">
      <tc:description>Status code 300, Location header field, with body</tc:description>
      <tc:status>300</tc:status>
      <tc:location>300.txt</tc:location>
      <tc:body>300 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>
  </tc:group>

  <tc:group name="301 (Moved Permanently)" anchor="l-301">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.301">status code 301</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t301empty">
      <tc:description>Status code 301, no Location header field, no content</tc:description>
      <tc:status>301</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t301body">
      <tc:description>Status code 301, no Location header field, with body</tc:description>
      <tc:status>301</tc:status>
      <tc:body>301 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="fail">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t301loc">
      <tc:description>Status code 301, Location header field, no body</tc:description>
      <tc:status>301</tc:status>
      <tc:location>301.txt</tc:location>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t301bodyandloc">
      <tc:description>Status code 301, Location header field, with body</tc:description>
      <tc:status>301</tc:status>
      <tc:location>301.txt</tc:location>
      <tc:body>301 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t301methods" href="t301methods.html">
      <tc:description>method handling for 301 redirects</tc:description>
      <tc:expectation>method should be preserved except for POST that may be rewritten to GET</tc:expectation>

      <tc:result for="FF50" outcome="pass"/>
      <tc:result for="MSIE11" outcome="pass"/>
      <tc:result for="Safari" outcome="pass"/>
      <tc:result for="Chr55" outcome="pass"/>
      <tc:result for="Konq" outcome="fail">HEAD apparently times out (also: POST not rewritten to GET!) (see <a href="https://bugs.kde.org/show_bug.cgi?id=330795">KDE Bug 330795</a></tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="302 (Found)" anchor="l-302">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.302">status code 302</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t302empty">
      <tc:description>Status code 302, no Location header field, no content</tc:description>
      <tc:status>302</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t302body">
      <tc:description>Status code 302, no Location header field, with body</tc:description>
      <tc:status>302</tc:status>
      <tc:body>302 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="fail">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t302loc">
      <tc:description>Status code 302, Location header field, no body</tc:description>
      <tc:status>302</tc:status>
      <tc:location>302.txt</tc:location>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t302bodyandloc">
      <tc:description>Status code 302, Location header field, with body</tc:description>
      <tc:status>302</tc:status>
      <tc:location>302.txt</tc:location>
      <tc:body>302 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t302methods" href="t302methods.html">
      <tc:description>method handling for 302 redirects</tc:description>
      <tc:expectation>method should be preserved except for POST that may be rewritten to GET</tc:expectation>

      <tc:result for="FF50" outcome="pass"/>
      <tc:result for="MSIE11" outcome="pass"/>
      <tc:result for="Safari" outcome="pass"/>
      <tc:result for="Chr55" outcome="pass"/>
      <tc:result for="Konq" outcome="fail">HEAD apparently times out (also: POST not rewritten to GET!) (see <a href="https://bugs.kde.org/show_bug.cgi?id=330795">KDE Bug 330795</a></tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="303 (See Other)" anchor="l-303">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.303">status code 303</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t303empty">
      <tc:description>Status code 303, no Location header field, no content</tc:description>
      <tc:status>303</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t303body">
      <tc:description>Status code 303, no Location header field, with body</tc:description>
      <tc:status>303</tc:status>
      <tc:body>303 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="fail">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t303loc">
      <tc:description>Status code 303, Location header field, no body</tc:description>
      <tc:status>303</tc:status>
      <tc:location>303.txt</tc:location>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t303bodyandloc">
      <tc:description>Status code 303, Location header field, with body</tc:description>
      <tc:status>303</tc:status>
      <tc:location>303.txt</tc:location>
      <tc:body>303 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t303methods" href="t303methods.html">
      <tc:description>method handling for 303 redirects</tc:description>
      <tc:expectation>method should be rewritten to GET except for HEAD</tc:expectation>

      <tc:result for="FF50" outcome="pass"/>
      <tc:result for="MSIE11" outcome="pass"/>>
      <tc:result for="Safari" outcome="fail">HEAD rewritten to GET</tc:result>
      <tc:result for="Chr55" outcome="pass"/>
      <tc:result for="Konq" outcome="fail">HEAD apparently times out, all other methods preserved! (see <a href="https://bugs.kde.org/show_bug.cgi?id=330795">KDE Bug 330795</a></tc:result>
    </tc:test-case>

  </tc:group>
  
  <tc:group name="304 (Not Modified)" anchor="l-304">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.304">status code 304</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t304empty">
      <tc:description>Status code 304, no Location header field, no content</tc:description>
      <tc:status>304</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays "This webpage is not found"</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t304body">
      <tc:description>Status code 304, no Location header field, with body</tc:description>
      <tc:status>304</tc:status>
      <tc:body>304 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays "This webpage is not found"</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>

    <tc:test-case code="t304loc">
      <tc:description>Status code 304, Location header field, no body</tc:description>
      <tc:status>304</tc:status>
      <tc:location>304.txt</tc:location>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays "This webpage is not found"</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>

    <tc:test-case code="t304bodyandloc">
      <tc:description>Status code 304, Location header field, with body</tc:description>
      <tc:status>304</tc:status>
      <tc:location>304.txt</tc:location>
      <tc:body>304 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays "This webpage is not found"</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="305 (Use Proxy)" anchor="l-305">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.305">status code 305</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t305empty">
      <tc:description>Status code 305, no Location header field, no content</tc:description>
      <tc:status>305</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t305body">
      <tc:description>Status code 305, no Location header field, with body</tc:description>
      <tc:status>305</tc:status>
      <tc:body>305 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t305loc">
      <tc:description>Status code 305, Location header field, no body</tc:description>
      <tc:status>305</tc:status>
      <tc:location>305.txt</tc:location>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t305bodyandloc">
      <tc:description>Status code 305, Location header field, with body</tc:description>
      <tc:status>305</tc:status>
      <tc:location>305.txt</tc:location>
      <tc:body>305 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="306" anchor="l-306">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.306">status code 306</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t306empty">
      <tc:description>Status code 306, no Location header field, no content</tc:description>
      <tc:status>306</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t306body">
      <tc:description>Status code 306, no Location header field, with body</tc:description>
      <tc:status>306</tc:status>
      <tc:body>306 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t306loc">
      <tc:description>Status code 306, Location header field, no body</tc:description>
      <tc:status>306</tc:status>
      <tc:location>306.txt</tc:location>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>

    <tc:test-case code="t306bodyandloc">
      <tc:description>Status code 306, Location header field, with body</tc:description>
      <tc:status>306</tc:status>
      <tc:location>306.txt</tc:location>
      <tc:body>306 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="307 (Temporary Redirect)" anchor="l-307">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.307">status code 307</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t307empty">
      <tc:description>Status code 307, no Location header field, no content</tc:description>
      <tc:status>307</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t307body">
      <tc:description>Status code 307, no Location header field, with body</tc:description>
      <tc:status>307</tc:status>
      <tc:body>307 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="fail">displays "Internet Explorer cannot display the webpage"</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t307loc">
      <tc:description>Status code 307, Location header field, no body</tc:description>
      <tc:status>307</tc:status>
      <tc:location>307.txt</tc:location>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t307bodyandloc">
      <tc:description>Status code 307, Location header field, with body</tc:description>
      <tc:status>307</tc:status>
      <tc:location>307.txt</tc:location>
      <tc:body>307 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t307methods" href="t307methods.html">
      <tc:description>method handling for 307 redirects</tc:description>
      <tc:expectation>method should be preserved in all cases</tc:expectation>

      <tc:result for="FF50" outcome="pass"/>
      <tc:result for="MSIE11" outcome="pass"/>
      <tc:result for="Safari" outcome="pass"/>
      <tc:result for="Chr55" outcome="pass"/>
      <tc:result for="Konq" outcome="fail">HEAD apparently times out (see <a href="https://bugs.kde.org/show_bug.cgi?id=330795">KDE Bug 330795</a></tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="308 (Permanent Redirect)" anchor="l-308">

    <tc:prose>
      <p>
        Various tests checking <a href="http://greenbytes.de/tech/webdav/rfc7538.html">status code 308</a>
      </p>
    </tc:prose>
  
    <tc:test-case code="t308empty">
      <tc:description>Status code 308, no Location header field, no content</tc:description>
      <tc:status>308</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t308body">
      <tc:description>Status code 308, no Location header field, with body</tc:description>
      <tc:status>308</tc:status>
      <tc:body>308 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t308loc">
      <tc:description>Status code 308, Location header field, no body</tc:description>
      <tc:status>308</tc:status>
      <tc:location>308.txt</tc:location>
      
      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t308bodyandloc">
      <tc:description>Status code 308, Location header field, with body</tc:description>
      <tc:status>308</tc:status>
      <tc:location>308.txt</tc:location>
      <tc:body>308 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">follows redirect</tc:result>
      <tc:result for="MSIE11" outcome="pass">follows redirect</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">follows redirect</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t308methods" href="t308methods.html">
      <tc:description>method handling for 308 redirects</tc:description>
      <tc:expectation>method should be preserved in all cases</tc:expectation>

      <tc:result for="FF50" outcome="pass"/>
      <tc:result for="MSIE11" outcome="pass"/>
      <tc:result for="Safari" outcome="pass"/>
      <tc:result for="Chr55" outcome="pass"/>
      <tc:result for="Konq" outcome="fail">HEAD apparently times out (see <a href="https://bugs.kde.org/show_bug.cgi?id=330795">KDE Bug 330795</a>)</tc:result>
    </tc:test-case>
  </tc:group>
  
  <tc:group name="399" anchor="l-399">

    <tc:prose>
      <p>
        Various tests checking status code 399, which, unless known, should
        be treated just like <a href="http://greenbytes.de/tech/webdav/rfc7231.html#status.300">status code 300</a>.
      </p>
      <p>
        See also <a href="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/325">HTTPbis issue 325</a>.
      </p>
    </tc:prose>
  
    <tc:test-case code="t399empty">
      <tc:description>Status code 399, no Location header field, no content</tc:description>
      <tc:status>399</tc:status>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">displays empty page</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">displays empty page</tc:result>
    </tc:test-case>
    
    <tc:test-case code="t399body">
      <tc:description>Status code 399, no Location header field, with body</tc:description>
      <tc:status>399</tc:status>
      <tc:body>399 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">displays response body</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">displays response body</tc:result>
    </tc:test-case>

    <tc:test-case code="t399loc">
      <tc:description>Status code 399, Location header field, no body</tc:description>
      <tc:status>399</tc:status>
      <tc:location>399.txt</tc:location>

      <tc:result for="FF50" outcome="pass">displays empty page</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays empty page</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">displays empty page</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

    <tc:test-case code="t399bodyandloc">
      <tc:description>Status code 399, Location header field, with body</tc:description>
      <tc:status>399</tc:status>
      <tc:location>399.txt</tc:location>
      <tc:body>399 Redirect Response Body</tc:body>

      <tc:result for="FF50" outcome="pass">displays response body</tc:result>
      <tc:result for="MSIE11" outcome="pass">displays response body</tc:result>
      <tc:result for="Safari" outcome="pass">follows redirect</tc:result>
      <tc:result for="Chr55" outcome="pass">displays response body</tc:result>
      <tc:result for="Konq" outcome="pass">follows redirect</tc:result>
    </tc:test-case>

  </tc:group>

  <tc:group name="Fragment Handling" anchor="l-fragments">

    <tc:prose>
      <p>
        Various tests checking handling of fragment identifiers.
      </p>
    </tc:prose>
  
    <tc:test-case code="tfnry">
      <tc:description>Status code 302, Location header field present with fragment 
      identifier "A" on redirect URI.
      See also <a href="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/43">HTTPbis issue 43</a>.
      </tc:description>
      <tc:status>302</tc:status>
      <tc:location>fragtarget.html#A</tc:location>

      <tc:result for="FF50" outcome="pass">#A</tc:result>
      <tc:result for="MSIE11" outcome="pass">#A</tc:result>
      <tc:result for="Safari" outcome="pass">#A</tc:result>
      <tc:result for="Chr55" outcome="pass">#A</tc:result>
      <tc:result for="Konq" outcome="pass">#A</tc:result>
    </tc:test-case>
    
    <tc:test-case code="tfyrn">
      <tc:description>Status code 302, source resource with fragment
      identifier "B", Location header field present without fragment
      identifier on redirect URI.
      See also <a href="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/295">HTTPbis issue 295</a>.
      </tc:description>
      <tc:status>302</tc:status>
      <tc:fragment>B</tc:fragment>
      <tc:location>fragtarget.html</tc:location>

      <tc:expectation>
        Should navigate to fragment "B" (see <a href="http://greenbytes.de/tech/webdav/rfc7231.html#header.location">Section 7.1.2 of RFC7231</a>)
      </tc:expectation>
      
      <tc:result for="FF50" outcome="pass">#B</tc:result>
      <tc:result for="MSIE11" outcome="pass">#B</tc:result>
      <tc:result for="Safari" outcome="fail">none!</tc:result>
      <tc:result for="Chr55" outcome="pass">#B</tc:result>
      <tc:result for="Konq" outcome="pass">#B</tc:result>
    </tc:test-case>

    <tc:test-case code="tfyry">
      <tc:description>Status code 302, source resource with fragment
      identifier "B", Location header field present with fragment 
      identifier "A" on redirect URI.
      See also <a href="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/43">HTTPbis issue 43</a>.
      </tc:description>
      <tc:status>302</tc:status>
      <tc:location>fragtarget.html#A</tc:location>
      <tc:fragment>B</tc:fragment>

      <tc:result for="FF50" outcome="pass">#A</tc:result>
      <tc:result for="MSIE11" outcome="pass">#A</tc:result>
      <tc:result for="Safari" outcome="pass">#A</tc:result>
      <tc:result for="Chr55" outcome="pass">#A</tc:result>
      <tc:result for="Konq" outcome="pass">#A</tc:result>
    </tc:test-case>    

  </tc:group>
</tc:test-cases>
