summaryrefslogtreecommitdiffstats
path: root/kio/tests/kionetrctest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kio/tests/kionetrctest.cpp')
-rw-r--r--kio/tests/kionetrctest.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/kio/tests/kionetrctest.cpp b/kio/tests/kionetrctest.cpp
new file mode 100644
index 000000000..977603426
--- /dev/null
+++ b/kio/tests/kionetrctest.cpp
@@ -0,0 +1,71 @@
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+
+#include "authinfo.h"
+
+void output( const KURL& u )
+{
+ kdDebug() << "Looking up auto login for: " << u.url() << endl;
+ KIO::NetRC::AutoLogin l;
+ bool result = KIO::NetRC::self()->lookup( u, l, true );
+ if ( !result )
+ {
+ kdDebug() << "Either no .netrc and/or .kionetrc file was "
+ "found or there was problem when attempting to "
+ "read from them! Please make sure either or both "
+ "of the above files exist and have the correct "
+ "permission, i.e. a regular file owned by you with "
+ "with a read/write permission (0600)" << endl;
+ return;
+ }
+
+ kdDebug() << "Type: " << l.type << endl
+ << "Machine: " << l.machine << endl
+ << "Login: " << l.login << endl
+ << "Password: " << l.password << endl;
+
+ QMap<QString,QStringList>::ConstIterator it = l.macdef.begin();
+ for ( ; it != l.macdef.end(); ++it )
+ {
+ kdDebug() << "Macro: " << it.key() << "= "
+ << it.data().join(" ") << endl;
+ }
+}
+
+int main(int argc, char **argv)
+{
+ const char *version = "0.5";
+ const char *description = "Unit test for .netrc and kionetrc parser.";
+ KCmdLineOptions options[] =
+ {
+ { "+command", "[url1,url2 ,...]", 0 },
+ KCmdLineLastOption
+ };
+
+ KCmdLineArgs::init( argc, argv, "kionetrctest", description, version );
+ KCmdLineArgs::addCmdLineOptions( options );
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ int count = args->count();
+ KApplication app;
+
+ if ( !count )
+ args->usage();
+ else
+ {
+ KURL u;
+ for( int i=0 ; i < count; i++ )
+ {
+ u = args->arg(i);
+ if ( !u.isValid() )
+ {
+ kdDebug() << u.url() << " is invalid! Ignoring..." << endl;
+ continue;
+ }
+ output( u );
+ }
+ }
+ args->clear();
+ return 0;
+}