qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
--- a/qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp	Mon May 03 13:18:40 2010 +0300
@@ -23,6 +23,8 @@
 #include <W32STD.H>
 #include <xqkeycapture.h>
 
+#include <QFile>
+
 class TestXqKeyCapture : public QObject
 {
     Q_OBJECT
@@ -41,24 +43,47 @@
 
     void testCaptureKey_data();
     void testCaptureKey();
+	
+	void testCaptureKey_S60_data();
+	void testCaptureKey_S60();
 
     void testCaptureKeyUpAndDowns_data();
     void testCaptureKeyUpAndDowns();
+	
+    void testCaptureKeyUpAndDowns_S60_data();
+    void testCaptureKeyUpAndDowns_S60();
     
     void testCaptureLongKey_data();
     void testCaptureLongKey();
+	
+    void testCaptureLongKey_S60_data();
+    void testCaptureLongKey_S60();
     
     void testCancelCaptureKey_data();
     void testCancelCaptureKey();
+	
+    void testCancelCaptureKey_S60_data();
+    void testCancelCaptureKey_S60();
 
     void testCancelCaptureKeyUpAndDowns_data();
     void testCancelCaptureKeyUpAndDowns();
+	
+    void testCancelCaptureKeyUpAndDowns_S60_data();
+    void testCancelCaptureKeyUpAndDowns_S60();
     
     void testCancelCaptureLongKey_data();
     void testCancelCaptureLongKey();
-    
+	
+    void testCancelCaptureLongKey_S60_data();
+    void testCancelCaptureLongKey_S60();
+
     void testErrorString();
     void testErrorId();
+	
+	void testKeyMapperFile();
+
+private:
+	QString clearString(const QString& line, const QString& prefix, const QString& comment);
     
 private:
     XqKeyCapture* keyCapture;
@@ -189,10 +214,10 @@
                             << true
                             << static_cast<unsigned int> ( EKeyRightCtrl );
                             
-    QTest::newRow("meta_key") << static_cast<unsigned int> ( Qt::Key_Meta ) 
+    QTest::newRow("meta_key") << static_cast<unsigned int> ( Qt::Key_Super_R ) 
                             << static_cast<unsigned int> ( Qt::NoModifier )
                             << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<unsigned int> ( EKeyLeftFunc )
+                            << static_cast<unsigned int> ( EKeyRightFunc )
                             << static_cast<unsigned int> ( 0 )
                             << static_cast<unsigned int> ( 0 )
                             << static_cast<long int> ( 12 )
@@ -296,6 +321,67 @@
 }
 
 ////////////////////////////////////////////////////////////////
+//Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EStdKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EStdKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKeyUpAndDowns;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
 //Capture Long Key
 ////////////////////////////////////////////////////////////////
 void TestXqKeyCapture::testCaptureLongKey_data()
@@ -368,6 +454,78 @@
 }
 
 ////////////////////////////////////////////////////////////////
+//Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureLongKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+    QTest::addColumn<int>("symbianPriority");
+    QTest::addColumn<int>("symbianLongFlags");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<int> ( 0 ) //priority
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+
+}
+
+void TestXqKeyCapture::testCaptureLongKey_S60()
+{
+    numOfArgs = 6;
+    actionType = WGATCaptureLongKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+    
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+    QFETCH(int, symbianPriority);
+    QFETCH(int, symbianLongFlags);
+    
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+////////////////////////////////////////////////////////////////
 // CANCEL
 //Cancel Capture Key
 ////////////////////////////////////////////////////////////////
@@ -460,6 +618,98 @@
 }
 
 ////////////////////////////////////////////////////////////////
+// CANCEL
+//Cancel Capture Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<long int> ( 0 );
+
+    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( KErrNotSupported )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
+                            << static_cast<long int> ( 13 )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("shift_key") << static_cast<unsigned int> ( EKeyLeftShift ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier )
+                            << static_cast<unsigned int> ( Qt::ControlModifier ) 
+                            << static_cast<long int> ( 15 )
+                            << true
+                            << static_cast<long int> ( 16 );
+
+    QTest::newRow("control_key") << static_cast<unsigned int> ( EKeyLeftCtrl ) 
+                            << static_cast<unsigned int> ( Qt::ControlModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
+                            << static_cast<long int> ( 17 )
+                            << true
+                            << static_cast<long int> ( 18 );
+                            
+    QTest::newRow("meta_key") << static_cast<unsigned int> ( EKeyRightCtrl ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 19 )
+                            << true
+                            << static_cast<long int> ( 20 );
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKey_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
 //Cancel Capture Key Up And Downs
 ////////////////////////////////////////////////////////////////
 void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_data()
@@ -515,6 +765,61 @@
 }
 
 ////////////////////////////////////////////////////////////////
+//Cancel Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 34 )
+                            << false
+                            << static_cast<long int> ( 35 );
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKeyUpAndDowns;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
 //Cancel Capture Long Key
 ////////////////////////////////////////////////////////////////
 void TestXqKeyCapture::testCancelCaptureLongKey_data()
@@ -577,6 +882,178 @@
 }
 
 ////////////////////////////////////////////////////////////////
+//Cancel Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureLongKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 22 )
+                            << false
+                            << static_cast<long int> ( 23 );
+
+
+
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKey_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureLongKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+void TestXqKeyCapture::testCaptureKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("s60Key");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+
+    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( KErrNotSupported )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+    
+    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( EModifierShift | EModifierCtrl | EModifierAlt | EModifierKeypad )
+                            << static_cast<unsigned int> ( EModifierShift | EModifierCtrl | EModifierAlt | EModifierKeypad )
+                            << static_cast<long int> ( 13 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+    
+    QTest::newRow("shift_key") << static_cast<unsigned int> ( EKeyLeftShift ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
+                            << static_cast<unsigned int> ( EKeyLeftShift )
+                            << static_cast<unsigned int> ( EModifierShift )
+                            << static_cast<unsigned int> ( EModifierShift )
+                            << static_cast<long int> ( 12 )
+                            << true
+                            << static_cast<unsigned int> ( EKeyRightShift );
+
+    QTest::newRow("control_key") << static_cast<unsigned int> ( EKeyRightCtrl ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EKeyRightCtrl )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << true
+                            << static_cast<unsigned int> ( EKeyRightFunc );
+                            
+    QTest::newRow("meta_key") << static_cast<unsigned int> ( EKeyLeftCtrl ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EKeyLeftCtrl )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << true
+                            << static_cast<unsigned int> ( EKeyLeftFunc );
+
+
+}
+
+void TestXqKeyCapture::testCaptureKey_S60()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, s60Key);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKey( static_cast<TUint> (s60Key), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
 // ERRORS
 //errorString
 ////////////////////////////////////////////////////////////////
@@ -594,6 +1071,61 @@
     keyCapture->errorId();
 }
 
+QString TestXqKeyCapture::clearString(const QString& line, const QString& prefix, const QString& comment) {
+    QString s(line);
+    s.replace(prefix, comment);
+    s.replace(" ", "");
+    s.replace("\t", "");
+    return s.trimmed();
+}
+
+////////////////////////////////////////////////////////////////
+// TEST KEY MAPPER FILE
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testKeyMapperFile()
+{
+    QString prefix("    keyMapping.append(KeyMapping(");
+    QString comment("//");
+    
+    QStringList qt;
+    QStringList kc;
+
+    QFile qtFile("c:\qkeymapper_s60.cpp");
+    QVERIFY(qtFile.open(QIODevice::ReadOnly | QIODevice::Text));
+    
+    QFile kcFile("c:\keymapper.cpp");
+    QVERIFY(kcFile.open(QIODevice::ReadOnly | QIODevice::Text));
+    
+    QTextStream inQtFile(&qtFile);
+    while (!inQtFile.atEnd()) {
+        QString line = inQtFile.readLine();
+        if (line.contains(prefix) && !line.contains(comment)) {
+            qt.append(clearString(line, prefix, comment));
+        }
+    }
+
+    QTextStream inKcFile(&kcFile);
+    while (!inKcFile.atEnd()) {
+        QString line = inKcFile.readLine();
+        if (line.contains(prefix) && !line.contains(comment)) {
+            kc.append(clearString(line, prefix, comment));
+        }
+    }
+    
+    QVERIFY(qt.size() == kc.size());
+    
+    for(int i = 0; i < kc.size(); i++) {
+        QString keys = kc.at(i);
+        QVERIFY(qt.contains(keys));
+    }
+    
+    for(int i = 0; i < qt.size(); i++) {
+        QString keys = qt.at(i);
+        QVERIFY(kc.contains(keys));
+    }    
+}
+
+
 ////////////////////////////////////////////////////////////////
 // REQUEST SLOT
 //windowGroupAction