2022-08-30 18:55:37 +01:00
// SPDX-License-Identifier: GPL-3.0-only
/*
* PolyMC - Minecraft Launcher
* Copyright ( c ) 2022 flowln < flowlnlnln @ gmail . com >
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , version 3.
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < https : //www.gnu.org/licenses/>.
*/
# include <QTest>
# include <QTimer>
2022-09-11 21:25:18 +01:00
# include <FileSystem.h>
2022-08-30 18:55:37 +01:00
2022-09-11 21:25:18 +01:00
# include <minecraft/mod/ResourcePack.h>
# include <minecraft/mod/tasks/LocalResourcePackParseTask.h>
2022-08-30 18:55:37 +01:00
class ResourcePackParseTest : public QObject {
Q_OBJECT
private slots :
void test_parseZIP ( )
{
2022-09-11 21:25:18 +01:00
QString source = QFINDTESTDATA ( " testdata/ResourcePackParse " ) ;
2022-08-30 18:55:37 +01:00
QString zip_rp = FS : : PathCombine ( source , " test_resource_pack_idk.zip " ) ;
ResourcePack pack { QFileInfo ( zip_rp ) } ;
2022-12-25 01:08:08 +00:00
bool valid = ResourcePackUtils : : processZIP ( pack , ResourcePackUtils : : ProcessingLevel : : BasicInfoOnly ) ;
2022-08-30 18:55:37 +01:00
QVERIFY ( pack . packFormat ( ) = = 3 ) ;
QVERIFY ( pack . description ( ) = = " um dois, feijão com arroz, três quatro, feijão no prato, cinco seis, café inglês, sete oito, comer biscoito, nove dez comer pastéis!! " ) ;
2022-12-25 01:08:08 +00:00
QVERIFY ( valid = = true ) ;
2022-08-30 18:55:37 +01:00
}
void test_parseFolder ( )
{
2022-09-11 21:25:18 +01:00
QString source = QFINDTESTDATA ( " testdata/ResourcePackParse " ) ;
2022-08-30 18:55:37 +01:00
QString folder_rp = FS : : PathCombine ( source , " test_folder " ) ;
ResourcePack pack { QFileInfo ( folder_rp ) } ;
2022-12-25 01:08:08 +00:00
bool valid = ResourcePackUtils : : processFolder ( pack , ResourcePackUtils : : ProcessingLevel : : BasicInfoOnly ) ;
2022-08-30 18:55:37 +01:00
QVERIFY ( pack . packFormat ( ) = = 1 ) ;
QVERIFY ( pack . description ( ) = = " Some resource pack maybe " ) ;
2022-12-25 01:08:08 +00:00
QVERIFY ( valid = = true ) ;
2022-08-30 18:55:37 +01:00
}
void test_parseFolder2 ( )
{
2022-09-11 21:25:18 +01:00
QString source = QFINDTESTDATA ( " testdata/ResourcePackParse " ) ;
2022-08-30 18:55:37 +01:00
QString folder_rp = FS : : PathCombine ( source , " another_test_folder " ) ;
ResourcePack pack { QFileInfo ( folder_rp ) } ;
2022-12-25 01:08:08 +00:00
bool valid = ResourcePackUtils : : process ( pack , ResourcePackUtils : : ProcessingLevel : : BasicInfoOnly ) ;
2022-08-30 18:55:37 +01:00
QVERIFY ( pack . packFormat ( ) = = 6 ) ;
QVERIFY ( pack . description ( ) = = " o quartel pegou fogo, policia deu sinal, acode acode acode a bandeira nacional " ) ;
2022-12-25 01:08:08 +00:00
QVERIFY ( valid = = false ) ;
2022-08-30 18:55:37 +01:00
}
} ;
QTEST_GUILESS_MAIN ( ResourcePackParseTest )
# include "ResourcePackParse_test.moc"