Mercurial > hg > svcore
comparison data/fileio/test/EncodingTest.h @ 1596:81989085997b bqaudiostream
Argh, that fix for Mac broke Win
| author | Chris Cannam |
|---|---|
| date | Tue, 22 Jan 2019 20:07:46 +0000 |
| parents | afa75922fe0f |
| children | ae9849c0815f |
comparison
equal
deleted
inserted
replaced
| 1595:c9c8c49b22d6 | 1596:81989085997b |
|---|---|
| 77 encodingDir = base + "/encodings"; | 77 encodingDir = base + "/encodings"; |
| 78 outDir = base + "/outfiles"; | 78 outDir = base + "/outfiles"; |
| 79 } | 79 } |
| 80 | 80 |
| 81 private: | 81 private: |
| 82 const char *strOf(QString s) { | |
| 83 return strdup(s.toLocal8Bit().data()); | |
| 84 } | |
| 85 | |
| 82 void addAudioFiles() { | 86 void addAudioFiles() { |
| 83 QTest::addColumn<QString>("audiofile"); | 87 QTest::addColumn<QString>("audiofile"); |
| 84 for (int i = 0; i < testFileCount; ++i) { | 88 #ifndef Q_OS_MAC |
| 85 std::string s = testFiles[i][0]; | 89 // The normal case - populate the file list from the files |
| 86 s += "."; | 90 // actually present in the encodings directory |
| 87 s += testFiles[i][1]; | 91 QStringList files = QDir(encodingDir).entryList(QDir::Files); |
| 88 QTest::newRow(strdup(s.c_str())) << QString::fromStdString(s); | 92 foreach (QString filename, files) { |
| 89 } | 93 QTest::newRow(strOf(filename)) << filename; |
| 94 } | |
| 95 #else | |
| 96 // Deviant case for Mac - populate the file list from the | |
| 97 // hard-coded list of expected files in testFiles. This is | |
| 98 // because QDir::entryList is currently broken on APFS (as of | |
| 99 // Qt 5.12) because of variant Unicode normalisations. | |
| 100 for (int i = 0; i < testFileCount; ++i) { | |
| 101 std::string s = testFiles[i][0]; | |
| 102 s += "."; | |
| 103 s += testFiles[i][1]; | |
| 104 QTest::newRow(strdup(s.c_str())) << QString::fromStdString(s); | |
| 105 } | |
| 106 #endif | |
| 90 } | 107 } |
| 91 | 108 |
| 92 private slots: | 109 private slots: |
| 93 void init() | 110 void init() |
| 94 { | 111 { |
