#include <apt-pkg/strutl.h>
#include <stdio.h>

void Test(const char *Foo)
{
   URI U(Foo);
   
   printf("%s a='%s' u='%s' p='%s' port='%u'\n   h='%s' p='%s'\n",
	  Foo,U.Access.c_str(),U.User.c_str(),U.Password.c_str(),
	  U.Port,U.Host.c_str(),U.Path.c_str());
}

int main()
{
   // Basic stuff
   Test("http://www.debian.org:90/temp/test");
   Test("http://jgg:foo@ualberta.ca/blah");
   Test("file:/usr/bin/foo");
   Test("cdrom:Moo Cow Rom:/debian");
   Test("gzip:./bar/cow");
	   
   // RFC 2732 stuff
   Test("http://[1080::8:800:200C:417A]/foo");
   Test("http://[::FFFF:129.144.52.38]:80/index.html");
   Test("http://[::FFFF:129.144.52.38:]:80/index.html");
   Test("http://[::FFFF:129.144.52.38:]/index.html");
   
   /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for 
      the whole family! */
   Test("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/");
   Test("cdrom:Foo Bar Cow/debian/");
      
   Test("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb");
}