# File test/test_request.rb, line 99
    def test_uri
      assert_nil(@request.uri)

      assert_equal('/', @request.uri = '/')
      assert_equal('/', @request.uri)
      assert_equal('/', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo/./bar', @request.uri = '/foo/./bar')
      assert_equal('/foo/./bar', @request.uri)
      assert_equal('/foo/bar', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo/../bar', @request.uri = '/foo/../bar')
      assert_equal('/foo/../bar', @request.uri)
      assert_equal('/bar', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo/.', @request.uri = '/foo/.')
      assert_equal('/foo/.', @request.uri)
      assert_equal('/foo/', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo/bar/..', @request.uri = '/foo/bar/..')
      assert_equal('/foo/bar/..', @request.uri)
      assert_equal('/foo/', @request.path)
      assert_nil(@request.query)

      assert_equal('/../foo', @request.uri = '/../foo')
      assert_equal('/../foo', @request.uri)
      assert_equal('/foo', @request.path)
      assert_nil(@request.query)

      assert_equal('/../foo', @request.uri = '/../foo')
      assert_equal('/../foo', @request.uri)
      assert_equal('/foo', @request.path)
      assert_nil(@request.query)

      assert_equal('/..', @request.uri = '/..')
      assert_equal('/..', @request.uri)
      assert_equal('/', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo+bar', @request.uri = '/foo+bar')
      assert_equal('/foo+bar', @request.uri)
      assert_equal('/foo bar', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo/%7Ebar', @request.uri = '/foo/%7Ebar')
      assert_equal('/foo/%7Ebar', @request.uri)
      assert_equal('/foo/~bar', @request.path)
      assert_nil(@request.query)

      assert_equal('/foo?', @request.uri = '/foo?')
      assert_equal('/foo?', @request.uri)
      assert_equal('/foo', @request.path)
      assert_equal('', @request.query)

      assert_equal('/foo?bar', @request.uri = '/foo?bar')
      assert_equal('/foo?bar', @request.uri)
      assert_equal('/foo', @request.path)
      assert_equal('bar', @request.query)

      assert_equal('/foo?+bar', @request.uri = '/foo?+bar')
      assert_equal('/foo?+bar', @request.uri)
      assert_equal('/foo', @request.path)
      assert_equal('+bar', @request.query)

      assert_equal('/foo?%7Ebar', @request.uri = '/foo?%7Ebar')
      assert_equal('/foo?%7Ebar', @request.uri)
      assert_equal('/foo', @request.path)
      assert_equal('%7Ebar', @request.query)

      assert_equal('http://localhost:8080', @request.uri = 'http://localhost:8080')
      assert_equal('http://localhost:8080', @request.uri)
      assert_equal('/', @request.path)
      assert_nil(@request.query)
      assert_equal('localhost:8080', @request.header('Host'))

      assert_equal('http://localhost:8080/foo', @request.uri = 'http://localhost:8080/foo')
      assert_equal('http://localhost:8080/foo', @request.uri)
      assert_equal('/foo', @request.path)
      assert_nil(@request.query)
      assert_equal('localhost:8080', @request.header('Host'))

      assert_equal('http://localhost:8080/foo?bar', @request.uri = 'http://localhost:8080/foo?bar')
      assert_equal('http://localhost:8080/foo?bar', @request.uri)
      assert_equal('/foo', @request.path)
      assert_equal('bar', @request.query)
      assert_equal('localhost:8080', @request.header('Host'))

      assert_equal('test:hello', @request.uri = 'test:hello')
      assert_equal('test:hello', @request.uri)
      assert_nil(@request.path)
      assert_nil(@request.query)
    end