File indexing completed on 2024-05-19 08:45:50
0001 /* 0002 SPDX-FileCopyrightText: 2017-2019 Nicolas Carion <french.ebook.lover@gmail.com> 0003 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 #include "test_utils.hpp" 0007 // test specific headers 0008 #include "doc/documentchecker.h" 0009 0010 TEST_CASE("Basic tests of the document checker parts", "[DocumentChecker]") 0011 { 0012 QString path = sourcesPath + "/dataset/test-mix.kdenlive"; 0013 0014 SECTION("Asset functions") 0015 { 0016 QDomDocument doc; 0017 Xml::docContentFromFile(doc, path, false); 0018 0019 QStringList filters = DocumentChecker::getAssetsServiceIds(doc, QStringLiteral("filter")); 0020 CHECK(filters == QStringList({"volume", "panner", "audiolevel", "avfilter.fieldorder"})); 0021 qDebug() << filters; 0022 0023 DocumentChecker::removeAssetsById(doc, QStringLiteral("filter"), QStringList({"volume"})); 0024 filters = DocumentChecker::getAssetsServiceIds(doc, QStringLiteral("filter")); 0025 0026 CHECK(filters == QStringList({"panner", "audiolevel", "avfilter.fieldorder"})); 0027 0028 QStringList transitions = DocumentChecker::getAssetsServiceIds(doc, QStringLiteral("transition")); 0029 CHECK(transitions == QStringList{"luma", "mix", "frei0r.cairoblend"}); 0030 0031 qDebug() << filters; 0032 qDebug() << transitions; 0033 } 0034 0035 SECTION("Check build-in luma detection") 0036 { 0037 CHECK(DocumentChecker::isMltBuildInLuma(QStringLiteral("luma05.pgm"))); 0038 CHECK_FALSE(DocumentChecker::isMltBuildInLuma(QStringLiteral("luma05.png"))); 0039 CHECK_FALSE(DocumentChecker::isMltBuildInLuma(QStringLiteral("my-luma05.pgm"))); 0040 CHECK_FALSE(DocumentChecker::isMltBuildInLuma(QStringLiteral("luma87.pgm"))); 0041 } 0042 } 0043 0044 TEST_CASE("Missing project items", "[DocumentChecker]") 0045 { 0046 QString path = sourcesPath + "/dataset/missing-proxy.kdenlive"; 0047 0048 SECTION("Missing proxy detection") 0049 { 0050 QDomDocument doc; 0051 Xml::docContentFromFile(doc, path, false); 0052 DocumentChecker d(QUrl::fromLocalFile(path), doc); 0053 d.hasErrorInProject(); 0054 QMap<DocumentChecker::MissingType, int> results = d.getCheckResults(); 0055 if (results.contains(DocumentChecker::MissingType::Clip)) { 0056 qDebug() << "::: MISSING CLIP: " << results.value(DocumentChecker::MissingType::Clip); 0057 } 0058 CHECK_FALSE(results.contains(DocumentChecker::MissingType::Clip)); 0059 CHECK(results.contains(DocumentChecker::MissingType::Proxy)); 0060 CHECK(results.value(DocumentChecker::MissingType::Proxy) == 1); 0061 } 0062 }