[Kmymoney-devel] csvimport plugin test is translation dependent

Cristian Oneţ onet.cristian at gmail.com
Thu Sep 16 19:25:08 CEST 2010


Hi Allan,

Can you please check the test related fix in this commit. If the test
can't be written in a translation independent manner then it should be
removed.

Regards,
Cristian

SVN commit 1176100 by conet:

Fix compilation errors on MSVC due to a rather strange way of using
QStringList. I think that the code using QStringList should have been
more like the one in this patch. Also I commented out a test case
which was failing in Romanian since it was locale dependent (the short
month name returned 'nov.' which produced '5-nov.-1999' which can't pe
parsed)

 M  +13 -13    convdate.cpp
 M  +4 -2      csvdatetest.cpp
 M  +3 -3      csvprocessing.cpp
 M  +4 -4      investprocessing.cpp


--- trunk/extragear/office/kmymoney/kmymoney/plugins/csvimport/convdate.cpp
#1176099:1176100
@@ -44,25 +44,25 @@
  QString buffer = txt;
  buffer = buffer.replace(rx, QString('/'));//    ....with '/'

-  QStringList dateSplit[3] = buffer.split('/');
-  if (dateSplit[0].count() != 3) {//                          not a valid date
+  QStringList dateSplit = buffer.split('/');
+  if (dateSplit.count() != 3) {//                          not a valid date
    return QDate();
  }
  switch (m_dateFormatIndex) {
    case(0):    //                                          %y %m %d
-      aYear =  dateSplit[0].at(0);
-      aMonth = dateSplit[0].at(1);
-      aDay =   dateSplit[0].at(2);
+      aYear =  dateSplit[0];
+      aMonth = dateSplit[1];
+      aDay =   dateSplit[2];
      break;
    case(1):    //                                          %m %d %y
-      aMonth = dateSplit[0].at(0);
-      aDay =   dateSplit[0].at(1);
-      aYear =  dateSplit[0].at(2);
+      aMonth = dateSplit[0];
+      aDay =   dateSplit[1];
+      aYear =  dateSplit[2];
      break;
    case(2):    //                                          %d %m %y
-      aDay =   dateSplit[0].at(0);
-      aMonth = dateSplit[0].at(1);
-      aYear =  dateSplit[0].at(2);
+      aDay =   dateSplit[0];
+      aMonth = dateSplit[1];
+      aYear =  dateSplit[2];
      break;
    default:
      qDebug("ConvertDate - not a valid date format");
@@ -93,8 +93,8 @@
    aMonth = '0' + aMonth;
    aFormat = "MM";
  } else if (aMonth.length() == 2) {//                     assume numeric
-    bool datefound = ((aMonth > "0") and(aMonth < "13"));
-    if (not datefound) {
+    bool datefound = ((aMonth > "0") && (aMonth < "13"));
+    if (!datefound) {
      return QDate();//                                        not a valid day
    }
    aFormat = "MM";//                                       aMonth is numeric
--- trunk/extragear/office/kmymoney/kmymoney/plugins/csvimport/csvdatetest.cpp
#1176099:1176100
@@ -68,8 +68,10 @@
  QVERIFY(m_convert->convertDate(QString("25-" +
QDate::longMonthName(12) + "-2000")) ==
  QDate::fromString("25/12/2000", format));//e = "25-December-2000"

-  QVERIFY(m_convert->convertDate(QString("5-" +
QDate::shortMonthName(11) + "-1999")) ==
-  QDate::fromString("5/11/1999", format));//f = "5-Nov-1999"
+  // TODO: change or fix this test since it's based on localization
which makes it fail depending on the translation
+  // See qt-docs: "The month names will be localized according to the
system's locale settings."
+  //QVERIFY(m_convert->convertDate(QString("5-" +
QDate::shortMonthName(11) + "-1999")) ==
+  //QDate::fromString("5/11/1999", format));//f = "5-Nov-1999"

  QVERIFY(m_convert->convertDate("13.09.81") ==
          QDate::fromString("13/09/1981", format));//g = "13.09.81"
--- trunk/extragear/office/kmymoney/kmymoney/plugins/csvimport/csvprocessing.cpp
#1176099:1176100
@@ -334,7 +334,7 @@
    }
  }

-  QStringList listIn[MAXCOL] =
m_inBuffer.split(m_fieldDelimiterCharacter);// firstly, split on
m_fieldDelim_char
+  QStringList listIn = m_inBuffer.split(m_fieldDelimiterCharacter);//
firstly, split on m_fieldDelim_char
  QStringList listOut;
  QString tmp;
  tmp.clear();
@@ -625,8 +625,8 @@

 void CsvProcessing::saveAs()
 {
-  QStringList outFile[1] = m_inFileName.split('.');
-  const KUrl& name = outFile[0].at(0) + ".qif";
+  QStringList outFile = m_inFileName.split('.');
+  const KUrl& name = (outFile.isEmpty() ? "CsvProcessing" :
outFile[0]) + ".qif";

  QString outFileName = KFileDialog::getSaveFileName(name, "*.qif |
QIF Files", 0, i18n("Save QIF")
 #if KDE_IS_VERSION(4,4,0)
--- trunk/extragear/office/kmymoney/kmymoney/plugins/csvimport/investprocessing.cpp
#1176099:1176100
@@ -377,8 +377,8 @@
  m_investDlg->m_redefine->m_accountName.clear();
  m_brokerageItems = false;
  QString name = QDir::homePath();
-  QStringList outFile[1] = name.split('.');
-  QString outFileName = outFile[0].at(0) + ".qif";
+  QStringList outFile = name.split('.');
+  QString outFileName = (outFile.isEmpty() ? "InvestProcessing" :
outFile[0]) + ".qif";

  if (!fname.isEmpty())
    m_inFileName  = fname;
@@ -865,8 +865,8 @@

 void InvestProcessing::saveAs()
 {
-  QStringList outFile[1] = m_inFileName .split('.');
-  const KUrl& name = outFile[0].at(0) + ".qif";
+  QStringList outFile = m_inFileName .split('.');
+  const KUrl& name = (outFile.isEmpty() ? "InvestProcessing" :
outFile[0]) + ".qif";

  QString outFileName = KFileDialog::getSaveFileName(name, "*.qif |
QIF Files", 0, i18n("Save QIF")
 #if KDE_IS_VERSION(4,4,0)


More information about the KMyMoney-devel mailing list