diff options
Diffstat (limited to 'trunk/ACE/websvcs/tests/Test_URL_Addr.cpp')
-rw-r--r-- | trunk/ACE/websvcs/tests/Test_URL_Addr.cpp | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/trunk/ACE/websvcs/tests/Test_URL_Addr.cpp b/trunk/ACE/websvcs/tests/Test_URL_Addr.cpp new file mode 100644 index 00000000000..4f4e33d3cde --- /dev/null +++ b/trunk/ACE/websvcs/tests/Test_URL_Addr.cpp @@ -0,0 +1,214 @@ +// $Id$ + +#include "websvcs/lib/URL_Addr.h" +#include "ace/Log_Msg.h" + +ACE_RCSID(WEBSVCS_Test, Test_URL_Addr, "$Id$") + +void test_http_addr (void); +void test_ftp_addr (void); +void test_mailto_addr (void); +void test_url_addr (void); + +int ACE_TMAIN (int, ACE_TCHAR*[]) +{ + test_http_addr (); + test_ftp_addr (); + test_mailto_addr (); + test_url_addr (); + return 0; +} + +#define HTTP_TEST_ARRAY \ + ACE_TEXT("http://www.cs.wustl.edu/"), \ + ACE_TEXT("http://www.cs.wustl.edu/index.html"), \ + ACE_TEXT("http://www.cs.wustl.edu/form?var=foo"), \ + ACE_TEXT("http://www.notexist.com:8080/index.html"), \ + ACE_TEXT("http://www.notexist.com:80/index.html"), \ + ACE_TEXT("ftp://foo"), \ + ACE_TEXT("http://www/?kkk//") + +#define FTP_TEST_ARRAY \ + ACE_TEXT("ftp://www.cs.wustl.edu/"), \ + ACE_TEXT("ftp://user@www.cs.wustl.edu/"), \ + ACE_TEXT("ftp://user:pass@www.cs.wustl.edu/"), \ + ACE_TEXT("ftp://user:pass@www.cs.wustl.edu/path"), \ + ACE_TEXT("ftp://www.cs.wustl.edu"), \ + ACE_TEXT("http://www.cs.wustl.edu/index.html") + +#define MAILTO_TEST_ARRAY \ + ACE_TEXT("mailto:ace-users@cs.wustl.edu"), \ + ACE_TEXT("mailto:majordomo@cs.wustl.edu?Subject: subscribe ace-users"), \ + ACE_TEXT("mailto:nobody"), \ + ACE_TEXT("http://www.cs.wustl.edu") + +#define URL_TEST_ARRAY \ + ACE_TEXT("file:/etc/passwd") + +void test_http_addr (void) +{ + static const ACE_TCHAR *addresses[] = { + HTTP_TEST_ARRAY + }; + static int naddresses = sizeof(addresses)/sizeof(addresses[0]); + for (int i = 0; i < naddresses; ++i) + { + ACE_HTTP_Addr addr; + if (addr.string_to_addr (addresses[i]) != 0) + { + ACE_ERROR ((LM_ERROR, + "HTTP[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + continue; + } + + ACE_TCHAR buffer[BUFSIZ]; + if (addr.addr_to_string (buffer, BUFSIZ, i%2) == 0) + { + ACE_DEBUG ((LM_DEBUG, + "HTTP[%d]\n" + " \"%s\"\n" + " <%s>\n" + " <%s>\n", + i, addresses[i], + addr.get_url (), + buffer)); + } + else + { + ACE_ERROR ((LM_ERROR, + "HTTP[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + } + } +} + +void test_ftp_addr (void) +{ + static const ACE_TCHAR *addresses[] = { + FTP_TEST_ARRAY + }; + static int naddresses = sizeof(addresses)/sizeof(addresses[0]); + for (int i = 0; i < naddresses; ++i) + { + ACE_FTP_Addr addr; + if (addr.string_to_addr (addresses[i]) != 0) + { + ACE_ERROR ((LM_ERROR, + "FTP[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + continue; + } + + ACE_TCHAR buffer[BUFSIZ]; + if (addr.addr_to_string (buffer, BUFSIZ, i%2) == 0) + { + ACE_DEBUG ((LM_DEBUG, + "FTP[%d]\n" + " \"%s\"\n" + " <%s>\n" + " <%s>\n", + i, addresses[i], + addr.get_url (), + buffer)); + } + else + { + ACE_ERROR ((LM_ERROR, + "FTP[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + + } + } +} + +void test_mailto_addr (void) +{ + static const ACE_TCHAR *addresses[] = { + MAILTO_TEST_ARRAY + }; + static int naddresses = sizeof(addresses)/sizeof(addresses[0]); + for (int i = 0; i < naddresses; ++i) + { + ACE_Mailto_Addr addr; + if (addr.string_to_addr (addresses[i]) != 0) + { + ACE_ERROR ((LM_ERROR, + "Mailto[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + continue; + } + + ACE_TCHAR buffer[BUFSIZ]; + if (addr.addr_to_string (buffer, BUFSIZ, i%2) == 0) + { + ACE_DEBUG ((LM_DEBUG, + "Mailto[%d]\n" + " \"%s\"\n" + " <%s>\n" + " <%s>\n", + i, addresses[i], + addr.get_url (), + buffer)); + } + else + { + ACE_ERROR ((LM_ERROR, + "Mailto[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + + } + } +} + +void test_url_addr (void) +{ + static const ACE_TCHAR *addresses[] = { + HTTP_TEST_ARRAY, + FTP_TEST_ARRAY, + MAILTO_TEST_ARRAY, + URL_TEST_ARRAY + }; + static int naddresses = sizeof(addresses)/sizeof(addresses[0]); + for (int i = 0; i < naddresses; ++i) + { + ACE_URL_Addr* addr = + ACE_URL_Addr::create_address (addresses[i]); + if (addr == 0) + { + ACE_ERROR ((LM_ERROR, + "URL[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + continue; + } + + ACE_TCHAR buffer[BUFSIZ]; + if (addr->addr_to_string (buffer, BUFSIZ, i%2) == 0) + { + ACE_DEBUG ((LM_DEBUG, + "URL[%d]\n" + " \"%s\"\n" + " <%s>\n" + " <%s>\n", + i, addresses[i], + addr->get_url (), + buffer)); + } + else + { + ACE_ERROR ((LM_ERROR, + "URL[%d]\n" + " \"%s\" ERROR\n", + i, addresses[i])); + + } + } +} + |