--- a/tests/auto/headers/tst_headers.cpp Wed Jun 23 19:07:03 2010 +0300
+++ b/tests/auto/headers/tst_headers.cpp Tue Jul 06 15:10:48 2010 +0300
@@ -64,7 +64,9 @@
const QStringList dirFilters,
const QRegExp &exclude);
static QStringList getHeaders(const QString &path);
- static QStringList getSourceFiles(const QString &path);
+ static QStringList getQmlFiles(const QString &path);
+ static QStringList getCppFiles(const QString &path);
+ static QStringList getQDocFiles(const QString &path);
void allSourceFilesData();
void allHeadersData();
@@ -106,11 +108,21 @@
return getFiles(path, QStringList("*.h"), QRegExp("^(?!ui_)"));
}
-QStringList tst_Headers::getSourceFiles(const QString &path)
+QStringList tst_Headers::getCppFiles(const QString &path)
{
return getFiles(path, QStringList("*.cpp"), QRegExp("^(?!(moc_|qrc_))"));
}
+QStringList tst_Headers::getQmlFiles(const QString &path)
+{
+ return getFiles(path, QStringList("*.qml"), QRegExp("."));
+}
+
+QStringList tst_Headers::getQDocFiles(const QString &path)
+{
+ return getFiles(path, QStringList("*.qdoc"), QRegExp("."));
+}
+
void tst_Headers::initTestCase()
{
qtSrcDir = QString::fromLocal8Bit(qgetenv("QTSRCDIR").isEmpty()
@@ -147,8 +159,11 @@
};
for (int i = 0; i < sizeof(subdirs) / sizeof(subdirs[0]); ++i) {
- sourceFiles << getSourceFiles(qtSrcDir + subdirs[i]);
+ sourceFiles << getCppFiles(qtSrcDir + subdirs[i]);
+ if (subdirs[i] != QLatin1String("/tests"))
+ sourceFiles << getQmlFiles(qtSrcDir + subdirs[i]);
sourceFiles << getHeaders(qtSrcDir + subdirs[i]);
+ sourceFiles << getQDocFiles(qtSrcDir + subdirs[i]);
}
foreach (QString sourceFile, sourceFiles) {
@@ -192,22 +207,28 @@
QByteArray data = f.readAll();
data.replace("\r\n", "\n"); // Windows
data.replace('\r', '\n'); // Mac OS9
- QStringList content = QString::fromLocal8Bit(data).split("\n");
+ QStringList content = QString::fromLocal8Bit(data).split("\n", QString::SkipEmptyParts);
+
+ if (content.count() <= 2) // likely a #include line and empty line only. Not a copyright issue.
+ return;
if (content.first().contains("generated")) {
content.takeFirst();
- if (content.first().isEmpty())
- content.takeFirst();
}
if (sourceFile.endsWith("/tests/auto/linguist/lupdate/testdata/good/merge_ordering/foo.cpp")
|| sourceFile.endsWith("/tests/auto/linguist/lupdate/testdata/good/mergecpp/finddialog.cpp"))
{
// These files are meant to start with empty lines.
- while (content.first().isEmpty() || content.first().startsWith("//"))
+ while (content.first().startsWith("//"))
content.takeFirst();
}
+ if (sourceFile.endsWith("/doc/src/classes/phonon-api.qdoc")) {
+ // This is an external file
+ return;
+ }
+
QVERIFY(licensePattern.exactMatch(content.value(8)) ||
licensePattern.exactMatch(content.value(5)));
QString licenseType = licensePattern.cap(1);
@@ -258,6 +279,7 @@
if (header.endsWith("_p.h") || header.endsWith("_pch.h")
|| header.contains("global/qconfig-") || header.endsWith("/qconfig.h")
|| header.contains("/src/tools/") || header.contains("/src/plugins/")
+ || header.contains("/src/imports/")
|| header.endsWith("/qiconset.h") || header.endsWith("/qfeatures.h")
|| header.endsWith("qt_windows.h"))
return;