int main (int argc, char** argv) { UnitTest t (54); Uri uri1 ("asfd://user@host/folder/"); uri1.parse (); t.is (uri1._user, "user", "Uri::parse() : asdf://user@host/folder/"); t.is (uri1._host, "host", "Uri::parse() : asdf://user@host/folder/"); t.is (uri1._port, "", "Uri::parse() : asdf://user@host/folder/"); t.is (uri1._path, "folder/", "Uri::parse() : asdf://user@host/folder/"); t.is (uri1._protocol, "asfd", "Uri::parse() : asdf://user@host/folder/"); t.ok (uri1.append ("file.test"), "Uri::append() to path"); t.is (uri1._path, "folder/file.test", "Uri::append() ok"); Uri uri2 ("user@host:folder/file.test"); uri2.parse (); t.is (uri2._user, "user", "Uri::parse() : user@host:folder/file.test"); t.is (uri2._host, "host", "Uri::parse() : user@host:folder/file.test"); t.is (uri2._port, "", "Uri::parse() : user@host/folder/file.test"); t.is (uri2._path, "folder/file.test", "Uri::parse() : user@host/folder/file.test"); t.is (uri2._protocol, "ssh", "Uri::parse() : user@host/folder/file.test"); t.notok (uri2.append ("test.dat"), "Uri::append() to file"); Uri uri3 ("rsync://hostname.abc.de:1234//abs/path"); uri3.parse (); t.is (uri3._user, "", "Uri::parse() : rsync://hostname.abc.de:1234//abs/path"); t.is (uri3._host, "hostname.abc.de", "Uri::parse() : rsync://hostname.abc.de:1234//abs/path"); t.is (uri3._port, "1234", "Uri::parse() : rsync://hostname.abc.de:1234//abs/path"); t.is (uri3._path, "/abs/path", "Uri::parse() : rsync://hostname.abc.de:1234//abs/path"); t.is (uri3._protocol, "rsync", "Uri::parse() : rsync://hostname.abc.de:1234//abs/path"); Uri uri4 ("hostname:"); uri4.parse (); t.is (uri4._user, "", "Uri::parse() : hostname:"); t.is (uri4._host, "hostname", "Uri::parse() : hostname:"); t.is (uri4._port, "", "Uri::parse() : hostname:"); t.is (uri4._path, "", "Uri::parse() : hostname:"); t.is (uri4._protocol, "ssh", "Uri::parse() : hostname:"); t.notok (uri4.is_local (), "Uri::is_local() : hostname:"); t.ok (uri4.append ("file.test"), "Uri::append() : hostname:"); t.is (uri4._path, "file.test","Uri::append() : ok"); context.config.set ("merge.default.uri", "../folder/"); context.config.set ("push.test.uri", "/home/user/.task/"); Uri uri5 ("", "merge"); t.ok (uri5.is_local (), "Uri::is_local() : ../server/"); uri5.parse (); t.is (uri5._path, "../folder/", "Uri::expand() default"); Uri uri6 ("test", "push"); t.ok (uri6.is_local(), "Uri::is_local() : /home/user/.task/"); uri6.parse (); t.is (uri6._path, "/home/user/.task/", "Uri::expand() test"); Uri uri7 ("ftp://'user@name'@host:321/path/to/x"); uri7.parse (); t.is (uri7._user, "user@name", "Uri::parse() : ftp://'user@name'@host:321/path/to/x"); t.is (uri7._host, "host", "Uri::parse() : ftp://'user@name'@host:321/path/to/x"); t.is (uri7._port, "321", "Uri::parse() : ftp://'user@name'@host:321/path/to/x"); t.is (uri7._path, "path/to/x", "Uri::parse() : ftp://'user@name'@host:321/path/to/x"); t.is (uri7._protocol, "ftp", "Uri::parse() : ftp://'user@name'@host:321/path/to/x"); Uri uri8 ("http://'us/er@n:ame'@host/path/to/x"); uri8.parse (); t.is (uri8._user, "us/er@n:ame", "Uri::parse() : http://'us/er@n:ame'@host/path/to/x"); t.is (uri8._host, "host", "Uri::parse() : http://'us/er@n:ame'@host/path/to/x"); t.is (uri8._port, "", "Uri::parse() : http://'us/er@n:ame'@host/path/to/x"); t.is (uri8._path, "path/to/x", "Uri::parse() : http://'us/er@n:ame'@host/path/to/x"); t.is (uri8._protocol, "http", "Uri::parse() : http://'us/er@n:ame'@host/path/to/x"); Uri uri9 ("'user@name'@host:path/to/x"); uri9.parse (); t.is (uri9._user, "user@name", "Uri::parse() : 'user@name'@host:path/to/x"); t.is (uri9._host, "host", "Uri::parse() : 'user@name'@host:path/to/x"); t.is (uri9._port, "", "Uri::parse() : 'user@name'@host:path/to/x"); t.is (uri9._path, "path/to/x", "Uri::parse() : 'user@name'@host:path/to/x"); // bug #668 Uri uri10 ("[email protected]:undo.data"); uri10.parse (); t.is (uri10._user, "user.name", "Uri::parse() : [email protected]:undo.data"); t.is (uri10._host, "host.com", "Uri::parse() : [email protected]:undo.data"); t.is (uri10._port, "", "Uri::parse() : [email protected]:undo.data"); t.is (uri10._path, "undo.data", "Uri::parse() : [email protected]:undo.data"); t.is (uri10._protocol, "ssh", "Uri::parse() : [email protected]:undo.data"); Uri uri11 ("ssh://[email protected]/undo.data"); uri11.parse (); t.is (uri11._user, "user.name", "Uri::parse() : ssh://[email protected]/undo.data"); t.is (uri11._host, "host.com", "Uri::parse() : ssh://[email protected]/undo.data"); t.is (uri11._port, "", "Uri::parse() : ssh://[email protected]/undo.data"); t.is (uri11._path, "/undo.data", "Uri::parse() : ssh://[email protected]/undo.data"); t.is (uri11._protocol, "ssh", "Uri::parse() : ssh://[email protected]/undo.data"); return 0; }
DMAD_EXPORT_C TInt TDmAdUtil::CompareUris(const TDesC8& aUri1, const TDesC8& aUri2) { TPtrC8 uri1(TDmAdUtil::RemoveDotSlash(aUri1)); TPtrC8 uri2(TDmAdUtil::RemoveDotSlash(aUri2)); return uri1.Compare(uri2); }