[kmobiletools] KDE/kdepim/kmobiletools/tests/testlibkmobiletools

Marco Gulino marco at kmobiletools.org
Thu Jun 21 00:41:33 CEST 2007


SVN commit 678234 by gulino:

Better test application.


 M  +30 -3     testlibkmobiletools.cpp  
 M  +6 -0      testlibkmobiletools.h  


--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.cpp #678233:678234
@@ -24,13 +24,41 @@
 #include <libkmobiletools/sms.h>
 #include <QTextStream>
 #include <kcmdlineargs.h>
+#include <QTimer>
 
 // using namespace KMobileTools;
 
 TestLibKMobileToolsApp::TestLibKMobileToolsApp()
-    : KApplication(false)
+    : KApplication(false), in(stdin, QIODevice::ReadOnly), out(stdout, QIODevice::WriteOnly), err(stderr, QIODevice::WriteOnly)
 {
-    QTextStream out(stdout, QIODevice::WriteOnly);
+    mainloop();
+}
+
+TestLibKMobileToolsApp::~TestLibKMobileToolsApp()
+{
+}
+
+void TestLibKMobileToolsApp::help() {
+    out << "Available commands:\n"
+    << "help\t\tThis help screen\n"
+    << "sms\t\tTest sms object\n"
+    << "quit\t\tClose this application\n"
+    ;
+}
+
+void TestLibKMobileToolsApp::mainloop() {
+    bool ok=false;
+    out << "Enter a command to test libkmobiletools. \"help\" to see available commands\n> ";
+    out.flush();
+    QString cmd;
+    in >> cmd;
+    if(cmd=="help" || cmd=="?") help();
+    if(cmd=="sms") checkSMS();
+    if(cmd=="quit" || cmd=="q") { QTimer::singleShot(200, this, SLOT(quit()) ) ; return; }
+    mainloop();
+}
+
+void TestLibKMobileToolsApp::checkSMS() {
     out << "LibKMobileTools tester application\n";
     SMS *sms=new SMS();
     out << "sms created\n";
@@ -46,7 +74,6 @@
     out << "Deleting SMS...";
     delete sms;
     out << " Done" << endl;
-    quit();
 }
 
 #include "testlibkmobiletools.moc"
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.h #678233:678234
@@ -29,6 +29,12 @@
 Q_OBJECT
 public:
     TestLibKMobileToolsApp ();
+    ~TestLibKMobileToolsApp ();
+    void mainloop();
+    void checkSMS();
+    void help();
+private:
+    QTextStream in, out, err;
 };
 
 #endif


More information about the kmobiletools mailing list