From 2be8aa471585d7aff5701c945c83f855ca3bfd59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Thu, 6 Aug 2009 10:38:07 +0200 Subject: Normalize line endings before comparing the lines. We already trimmed away any \r from the expected line, but we did not trim away \r from the actual line. That caused some false negatives on windows. --- tests/auto/linguist/lupdate/tst_lupdate.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/auto/linguist/lupdate/tst_lupdate.cpp b/tests/auto/linguist/lupdate/tst_lupdate.cpp index fcf8582..97400d9 100644 --- a/tests/auto/linguist/lupdate/tst_lupdate.cpp +++ b/tests/auto/linguist/lupdate/tst_lupdate.cpp @@ -93,13 +93,24 @@ void tst_lupdate::doCompare(const QStringList &actual, const QString &expectedFn } else if (i == ei) { ei = 0; break; - } else if (err ? !QRegExp(expected.at(i)).exactMatch(actual.at(i)) : - (actual.at(i) != expected.at(i))) { - while ((ei - 1) >= i && (gi - 1) >= i && - (err ? QRegExp(expected.at(ei - 1)).exactMatch(actual.at(gi - 1)) : - (actual.at(gi - 1) == expected.at(ei - 1)))) - ei--, gi--; - break; + } else { + QString act = actual.at(i); + act.remove('\r'); + if (err ? !QRegExp(expected.at(i)).exactMatch(act) : + (act != expected.at(i))) { + bool cond = true; + while (cond) { + act = actual.at(gi - 1); + act.remove('\r'); + cond = (ei - 1) >= i && (gi - 1) >= i && + (err ? QRegExp(expected.at(ei - 1)).exactMatch(act) : + (act == expected.at(ei - 1))); + if (cond) { + ei--, gi--; + } + } + break; + } } } QByteArray diff; -- cgit v0.12