From 0599583923e1d7829e841f24e69fe78cac8d9e03 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 3 Nov 2016 15:39:48 +0200 Subject: [PATCH 1/6] Fix issue in context menu details list. QUndoStack endMacro() did not match beginMacro(). --HG-- branch : develop --- src/app/valentina/dialogs/vwidgetdetails.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/app/valentina/dialogs/vwidgetdetails.cpp b/src/app/valentina/dialogs/vwidgetdetails.cpp index afeed4185..1942ca3fc 100644 --- a/src/app/valentina/dialogs/vwidgetdetails.cpp +++ b/src/app/valentina/dialogs/vwidgetdetails.cpp @@ -229,12 +229,14 @@ void VWidgetDetails::ShowContextMenu(const QPoint &pos) select = true; qApp->getUndoStack()->beginMacro(tr("select all details")); ToggleSectionDetails(select); + qApp->getUndoStack()->endMacro(); } else if (selectedAction == actionSelectNone) { select = false; qApp->getUndoStack()->beginMacro(tr("select none details")); ToggleSectionDetails(select); + qApp->getUndoStack()->endMacro(); } else if (selectedAction == actionInvertSelection) { @@ -253,7 +255,7 @@ void VWidgetDetails::ShowContextMenu(const QPoint &pos) qApp->getUndoStack()->push(togglePrint); } } - } - qApp->getUndoStack()->endMacro(); + qApp->getUndoStack()->endMacro(); + } } From c978caa7ba5814652f632330b6566f3ccefd9cf1 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Nov 2016 11:41:16 +0200 Subject: [PATCH 2/6] Fixed url to page UserManual:Crash reports. --HG-- branch : develop --- src/app/valentina/dialogs/configpages/configurationpage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/valentina/dialogs/configpages/configurationpage.cpp b/src/app/valentina/dialogs/configpages/configurationpage.cpp index f13c5d96b..8c1ead813 100644 --- a/src/app/valentina/dialogs/configpages/configurationpage.cpp +++ b/src/app/valentina/dialogs/configpages/configurationpage.cpp @@ -337,8 +337,8 @@ QGroupBox *ConfigurationPage::SendGroup() description = new QLabel(tr("After each crash Valentina collects information that may help us fix the " "problem. We do not collect any personal information. Find more about what " - "kind of information we collect.")); + "" + "kind of information we collect.")); description->setTextFormat(Qt::RichText); description->setTextInteractionFlags(Qt::TextBrowserInteraction); description->setOpenExternalLinks(true); From 1bc0378b691008d40464d722d6bc59b55da24f9f Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Nov 2016 12:44:57 +0200 Subject: [PATCH 3/6] Enable attribute Qt::AA_UseHighDpiPixmaps only since Qt 5.6.0. ref #584. --HG-- branch : develop --- src/libs/vmisc/vabstractapplication.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libs/vmisc/vabstractapplication.cpp b/src/libs/vmisc/vabstractapplication.cpp index 4c7904170..2acf0a9f3 100644 --- a/src/libs/vmisc/vabstractapplication.cpp +++ b/src/libs/vmisc/vabstractapplication.cpp @@ -101,8 +101,20 @@ VAbstractApplication::VAbstractApplication(int &argc, char **argv) } #endif // QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) -#if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) +#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) // Enable support for HiDPI bitmap resources + // The attribute is available since Qt 5.1, but by default disabled. + // Because on Windows and Mac OS X we always use last version + // and Linux users send bug reports probably they related to this attribute + // better not enable it before Qt 5.6. + // + // Related issues: + // Issue #584. frequent xcb errors and hangs + // https://bitbucket.org/dismine/valentina/issues/584/frequent-xcb-errors-and-hangs + // Issue #527. Error: Pasting a wrong formula : every dialog box is "glued" to the screen and can't close file + // or Valentina. + // https://bitbucket.org/dismine/valentina/issues/527/error-pasting-a-wrong-formula-every-dialog + setAttribute(Qt::AA_UseHighDpiPixmaps); #endif From 595a7dcaffe360d4d817459408c2964fa5dabc94 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Nov 2016 12:47:10 +0200 Subject: [PATCH 4/6] Enable attribute Qt::AA_EnableHighDpiScaling for support HighDpi displays. --HG-- branch : develop --- src/app/tape/main.cpp | 4 ++++ src/app/valentina/main.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/app/tape/main.cpp b/src/app/tape/main.cpp index 42e1d5e4f..81574be0a 100644 --- a/src/app/tape/main.cpp +++ b/src/app/tape/main.cpp @@ -49,6 +49,10 @@ int main(int argc, char *argv[]) qt_qhash_seed.store(0); // Lock producing random attribute order in XML +#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support +#endif + MApplication app(argc, argv); app.InitOptions(); diff --git a/src/app/valentina/main.cpp b/src/app/valentina/main.cpp index 353e33aae..60348d25f 100644 --- a/src/app/valentina/main.cpp +++ b/src/app/valentina/main.cpp @@ -53,6 +53,10 @@ int main(int argc, char *argv[]) qt_qhash_seed.store(0); // Lock producing random attribute order in XML +#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support +#endif + VApplication app(argc, argv); app.InitOptions(); From e6c85fa47a076c478ef0b30d92f3b0d29bfbc947 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Nov 2016 13:29:59 +0200 Subject: [PATCH 5/6] Calling constructor of Preference dialog take some time. Because of this user have time to call the dialog twice. --HG-- branch : develop --- src/app/tape/tmainwindow.cpp | 12 ++++++++++-- src/app/valentina/mainwindow.cpp | 20 ++++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/app/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp index 3b60b895c..57f57c10e 100644 --- a/src/app/tape/tmainwindow.cpp +++ b/src/app/tape/tmainwindow.cpp @@ -444,8 +444,16 @@ void TMainWindow::CreateFromExisting() //--------------------------------------------------------------------------------------------------------------------- void TMainWindow::Preferences() { - TapeConfigDialog dlg(this); - dlg.exec(); + // Calling constructor of the dialog take some time. Because of this user have time to call the dialog twice. + static QPointer guard;// Prevent any second run + if (guard.isNull()) + { + TapeConfigDialog *config = new TapeConfigDialog(this); + // QScopedPointer needs to be sure any exception will never block guard + QScopedPointer dlg(config); + guard = config; + dlg->exec(); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/valentina/mainwindow.cpp b/src/app/valentina/mainwindow.cpp index 2f678b024..b05a98995 100644 --- a/src/app/valentina/mainwindow.cpp +++ b/src/app/valentina/mainwindow.cpp @@ -4017,13 +4017,21 @@ void MainWindow::ShowPaper(int index) //--------------------------------------------------------------------------------------------------------------------- void MainWindow::Preferences() { - ConfigDialog dlg(this); - connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::WindowsLocale); // Must be first - connect(&dlg, &ConfigDialog::UpdateProperties, toolOptions, &VToolOptionsPropertyBrowser::RefreshOptions); - connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::ToolBarStyles); - if (dlg.exec() == QDialog::Accepted) + // Calling constructor of the dialog take some time. Because of this user have time to call the dialog twice. + static QPointer guard;// Prevent any second run + if (guard.isNull()) { - InitAutoSave(); + ConfigDialog *config = new ConfigDialog(this); + // QScopedPointer needs to be sure any exception will never block guard + QScopedPointer dlg(config); + guard = config; + connect(dlg.data(), &ConfigDialog::UpdateProperties, this, &MainWindow::WindowsLocale); // Must be first + connect(dlg.data(), &ConfigDialog::UpdateProperties, toolOptions, &VToolOptionsPropertyBrowser::RefreshOptions); + connect(dlg.data(), &ConfigDialog::UpdateProperties, this, &MainWindow::ToolBarStyles); + if (guard->exec() == QDialog::Accepted) + { + InitAutoSave(); + } } } From 4c3f65b0ab996be16f10243c8f6c84fbea4d67ff Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Nov 2016 15:15:11 +0200 Subject: [PATCH 6/6] Refactoring AbstractTest::Run. To be able to see more appropriate warnings we should compare only exit codes. --HG-- branch : develop --- src/libs/vmisc/abstracttest.cpp | 27 ++---- src/libs/vmisc/abstracttest.h | 3 +- .../CollectionTest/tst_tapecommandline.cpp | 23 +---- .../tst_valentinacommandline.cpp | 92 ++++++------------- 4 files changed, 42 insertions(+), 103 deletions(-) diff --git a/src/libs/vmisc/abstracttest.cpp b/src/libs/vmisc/abstracttest.cpp index 934e5f40c..ef8c3c63e 100644 --- a/src/libs/vmisc/abstracttest.cpp +++ b/src/libs/vmisc/abstracttest.cpp @@ -99,8 +99,7 @@ QString AbstractTest::TranslationsPath() const } //--------------------------------------------------------------------------------------------------------------------- -bool AbstractTest::Run(bool showWarn, int exit, int &exitCode, const QString &program, const QStringList &arguments, - int msecs) +int AbstractTest::Run(int exit, const QString &program, const QStringList &arguments, int msecs) { const QString parameters = QString("Program: %1 \nArguments: %2.").arg(program).arg(arguments.join(", ")); @@ -109,8 +108,7 @@ bool AbstractTest::Run(bool showWarn, int exit, int &exitCode, const QString &pr { const QString msg = QString("Can't find binary.\n%1").arg(parameters); QWARN(qUtf8Printable(msg)); - exitCode = TST_EX_BIN; - return false; + return TST_EX_BIN; } QScopedPointer process(new QProcess()); @@ -121,9 +119,8 @@ bool AbstractTest::Run(bool showWarn, int exit, int &exitCode, const QString &pr { const QString msg = QString("The operation timed out or an error occurred.\n%1").arg(parameters); QWARN(qUtf8Printable(msg)); - exitCode = TST_EX_TIME_OUT; process->kill(); - return false; + return TST_EX_TIME_OUT; } if (process->exitStatus() == QProcess::CrashExit) @@ -131,23 +128,17 @@ bool AbstractTest::Run(bool showWarn, int exit, int &exitCode, const QString &pr const QString msg = QString("Program crashed.\n%1\n%2").arg(parameters) .arg(QString(process->readAllStandardError())); QWARN(qUtf8Printable(msg)); - exitCode = TST_EX_CRASH; - return false; + return TST_EX_CRASH; } - if (process->exitCode() != V_EX_OK) + if (process->exitCode() != exit) { - if (showWarn || process->exitCode() != exit) - { - const QString msg = QString("\n%1").arg(QString(process->readAllStandardError())); - QWARN(qUtf8Printable(msg)); - } - exitCode = process->exitCode(); - return false; + const QString msg = QString("Unexpected finish.\n%1").arg(QString(process->readAllStandardError())); + QWARN(qUtf8Printable(msg)); + return process->exitCode(); } - exitCode = process->exitCode(); - return true; + return process->exitCode(); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vmisc/abstracttest.h b/src/libs/vmisc/abstracttest.h index 009de142a..7d37430f1 100644 --- a/src/libs/vmisc/abstracttest.h +++ b/src/libs/vmisc/abstracttest.h @@ -69,8 +69,7 @@ protected: QString TapePath() const; QString TranslationsPath() const; - bool Run(bool showWarn, int exit, int &exitCode, const QString &program, const QStringList &arguments, - int msecs = 30000); + int Run(int exit, const QString &program, const QStringList &arguments, int msecs = 30000); bool CopyRecursively(const QString &srcFilePath, const QString &tgtFilePath) const; }; diff --git a/src/test/CollectionTest/tst_tapecommandline.cpp b/src/test/CollectionTest/tst_tapecommandline.cpp index 1e9f7728c..7925cf278 100644 --- a/src/test/CollectionTest/tst_tapecommandline.cpp +++ b/src/test/CollectionTest/tst_tapecommandline.cpp @@ -59,68 +59,52 @@ void TST_TapeCommandLine::initTestCase() void TST_TapeCommandLine::OpenMeasurements_data() const { QTest::addColumn("file"); - QTest::addColumn("result"); QTest::addColumn("exitCode"); // The file doesn't exist! QTest::newRow("Send wrong path to a file") << "wrongPath.vit" - << false << V_EX_NOINPUT; QTest::newRow("Old individual format to new version") << "keiko.vit" - << true << V_EX_OK; QTest::newRow("Open empty file") << "empty.vit" - << true << V_EX_OK; QTest::newRow("Open the VIT file with all know measurements (v0.3.0)") << "all_measurements_v0.3.0.vit" - << true << V_EX_OK; QTest::newRow("Open the VST file with all know measurements (v0.4.0)") << "all_measurements_v0.4.0.vst" - << true << V_EX_OK; QTest::newRow("Open the VST file for man ru GOST (v0.3.0).") << "GOST_man_ru_v0.3.0.vst" - << true << V_EX_OK; QTest::newRow("Open the VIT file with all know measurements (v0.3.3)") << "all_measurements_v0.3.3.vit" - << true << V_EX_OK; QTest::newRow("Open the VST file with all know measurements (v0.4.2)") << "all_measurements_v0.4.2.vst" - << true << V_EX_OK; QTest::newRow("Open the VST file for man ru GOST (v0.4.2).") << "GOST_man_ru_v0.4.2.vst" - << true << V_EX_OK; QTest::newRow("Broken file. Not unique name.") << "broken1.vit" - << false << V_EX_NOINPUT; QTest::newRow("Broken file. Measurement name can't be empty.") << "broken1.vit" - << false << V_EX_NOINPUT; QTest::newRow("Broken file. An empty value shouldn't break a file.") << "broken3.vit" - << true << V_EX_OK; QTest::newRow("Broken file. Invalid measurement name.") << "broken4.vit" - << false << V_EX_NOINPUT; QTest::newRow("Empty text VIT file.") << "text.vit" - << false << V_EX_NOINPUT; QTest::newRow("Empty text VST file.") << "text.vst" - << false << V_EX_NOINPUT; } @@ -128,15 +112,12 @@ void TST_TapeCommandLine::OpenMeasurements_data() const void TST_TapeCommandLine::OpenMeasurements() { QFETCH(QString, file); - QFETCH(bool, result); QFETCH(int, exitCode); - int exit; - const bool res = Run(result, exitCode, exit, TapePath(), QStringList() << "--test" - << QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder + QDir::separator() + + const int exit = Run(exitCode, TapePath(), QStringList() << "--test" + << QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder + QDir::separator() + file); - QCOMPARE(res, result); QCOMPARE(exit, exitCode); } diff --git a/src/test/CollectionTest/tst_valentinacommandline.cpp b/src/test/CollectionTest/tst_valentinacommandline.cpp index 3085a70db..68d32f710 100644 --- a/src/test/CollectionTest/tst_valentinacommandline.cpp +++ b/src/test/CollectionTest/tst_valentinacommandline.cpp @@ -79,24 +79,19 @@ void TST_ValentinaCommandLine::initTestCase() void TST_ValentinaCommandLine::OpenPatterns_data() const { QTest::addColumn("file"); - QTest::addColumn("result"); QTest::addColumn("exitCode"); // The file doesn't exist! QTest::newRow("Send wrong path to a file") << "wrongPath.val" - << false << V_EX_NOINPUT; QTest::newRow("Measurement independent empty file") << "empty.val" - << true << V_EX_OK; QTest::newRow("File with invalid object type") << "wrong_obj_type.val" - << false << V_EX_NOINPUT; QTest::newRow("Empty text VAL file") << "txt.val" - << false << V_EX_NOINPUT; } @@ -105,15 +100,12 @@ void TST_ValentinaCommandLine::OpenPatterns_data() const void TST_ValentinaCommandLine::OpenPatterns() { QFETCH(QString, file); - QFETCH(bool, result); QFETCH(int, exitCode); - int exit; const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; - const bool res = Run(result, exitCode, exit, ValentinaPath(), QStringList() << "--test" - << tmp + QDir::separator() + file); + const int exit = Run(exitCode, ValentinaPath(), QStringList() << "--test" + << tmp + QDir::separator() + file); - QCOMPARE(res, result); QCOMPARE(exit, exitCode); } @@ -123,38 +115,32 @@ void TST_ValentinaCommandLine::ExportMode_data() const { QTest::addColumn("file"); QTest::addColumn("arguments"); - QTest::addColumn("result"); QTest::addColumn("exitCode"); const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; QTest::newRow("Issue #372")<< "issue_372.val" << QString("-p;;0;;-d;;%1;;-b;;output").arg(tmp) - << true << V_EX_OK; QTest::newRow("A file with limited gradation. Standard measurements. Wrong data.") << "glimited_vst.val" << QString("-p;;0;;-d;;%1;;--gsize;;46;;--gheight;;164;;-b;;output").arg(tmp) - << false << V_EX_DATAERR; QTest::newRow("A file with limited gradation. Standard measurements. Correct data.") << "glimited_vst.val" << QString("-p;;0;;-d;;%1;;--gsize;;40;;--gheight;;134;;-b;;output").arg(tmp) - << true << V_EX_OK; QTest::newRow("A file with limited gradation. Individual measurements.") << "glimited_vit.val" << QString("-p;;0;;-d;;%1;;--gsize;;40;;--gheight;;134;;-b;;output").arg(tmp) - << false << V_EX_DATAERR; QTest::newRow("A file with limited gradation. No measurements.") << "glimited_no_m.val" << QString("-p;;0;;-d;;%1;;--gsize;;40;;--gheight;;134;;-b;;output").arg(tmp) - << false << V_EX_DATAERR; } @@ -164,16 +150,13 @@ void TST_ValentinaCommandLine::ExportMode() { QFETCH(QString, file); QFETCH(QString, arguments); - QFETCH(bool, result); QFETCH(int, exitCode); - int exit; const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; const QStringList arg = QStringList() << tmp + QDir::separator() + file << arguments.split(";;"); - const bool res = Run(result, exitCode, exit, ValentinaPath(), arg); + const int exit = Run(exitCode, ValentinaPath(), arg); - QCOMPARE(res, result); QCOMPARE(exit, exitCode); } @@ -182,48 +165,40 @@ void TST_ValentinaCommandLine::TestMode_data() const { QTest::addColumn("file"); QTest::addColumn("arguments"); - QTest::addColumn("result"); QTest::addColumn("exitCode"); const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; QTest::newRow("Issue #256. Correct path.")<< "issue_256.val" << QString("--test") - << true << V_EX_OK; QTest::newRow("Issue #256. Wrong path.")<< "issue_256_wrong_path.vit" << QString("--test") - << false << V_EX_NOINPUT; QTest::newRow("Issue #256. Correct individual measurements.")<< "issue_256.val" << QString("--test;;-m;;%1").arg(tmp + QDir::separator() + QLatin1String("issue_256_correct.vit")) - << true << V_EX_OK; QTest::newRow("Issue #256. Wrong individual measurements.")<< "issue_256.val" << QString("--test;;-m;;%1").arg(tmp + QDir::separator() + QLatin1String("issue_256_wrong.vit")) - << false << V_EX_NOINPUT; QTest::newRow("Issue #256. Correct standard measurements.")<< "issue_256.val" << QString("--test;;-m;;%1").arg(tmp + QDir::separator() + QLatin1String("issue_256_correct.vst")) - << true << V_EX_OK; QTest::newRow("Issue #256. Wrong standard measurements.")<< "issue_256.val" << QString("--test;;-m;;%1").arg(tmp + QDir::separator() + QLatin1String("issue_256_wrong.vst")) - << false << V_EX_NOINPUT; QTest::newRow("Wrong formula.")<< "wrong_formula.val" << QString("--test") - << false << V_EX_DATAERR; } @@ -232,16 +207,13 @@ void TST_ValentinaCommandLine::TestMode() { QFETCH(QString, file); QFETCH(QString, arguments); - QFETCH(bool, result); QFETCH(int, exitCode); - int exit; const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; const QStringList arg = QStringList() << tmp + QDir::separator() + file << arguments.split(";;"); - const bool res = Run(result, exitCode, exit, ValentinaPath(), arg); + const int exit = Run(exitCode, ValentinaPath(), arg); - QCOMPARE(res, result); QCOMPARE(exit, exitCode); } @@ -250,43 +222,42 @@ void TST_ValentinaCommandLine::TestOpenCollection_data() const { QTest::addColumn("file"); QTest::addColumn("arguments"); - QTest::addColumn("result"); QTest::addColumn("exitCode"); const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestCollectionFolder; const QString testGOST = QString("--test;;-m;;%1").arg(tmp + QDir::separator() + QLatin1String("GOST_man_ru.vst")); const QString keyTest = QStringLiteral("--test"); - QTest::newRow("bra") << "bra.val" << keyTest << true << V_EX_OK; + QTest::newRow("bra") << "bra.val" << keyTest << V_EX_OK; #ifdef Q_OS_WIN Q_UNUSED(testGOST) #else - QTest::newRow("jacketМ1_52-176") << "jacketМ1_52-176.val" << testGOST << true << V_EX_OK; - QTest::newRow("jacketМ2_40-146") << "jacketМ2_40-146.val" << testGOST << true << V_EX_OK; - QTest::newRow("jacketМ3_40-146") << "jacketМ3_40-146.val" << testGOST << true << V_EX_OK; - QTest::newRow("jacketМ4_40-146") << "jacketМ4_40-146.val" << testGOST << true << V_EX_OK; - QTest::newRow("jacketМ5_30-110") << "jacketМ5_30-110.val" << testGOST << true << V_EX_OK; - QTest::newRow("jacketМ6_30-110") << "jacketМ6_30-110.val" << testGOST << true << V_EX_OK; - QTest::newRow("pantsМ1_52-176") << "pantsМ1_52-176.val" << testGOST << true << V_EX_OK; - QTest::newRow("pantsМ2_40-146") << "pantsМ2_40-146.val" << testGOST << true << V_EX_OK; - QTest::newRow("pantsМ7") << "pantsМ7.val" << testGOST << true << V_EX_OK; + QTest::newRow("jacketМ1_52-176") << "jacketМ1_52-176.val" << testGOST << V_EX_OK; + QTest::newRow("jacketМ2_40-146") << "jacketМ2_40-146.val" << testGOST << V_EX_OK; + QTest::newRow("jacketМ3_40-146") << "jacketМ3_40-146.val" << testGOST << V_EX_OK; + QTest::newRow("jacketМ4_40-146") << "jacketМ4_40-146.val" << testGOST << V_EX_OK; + QTest::newRow("jacketМ5_30-110") << "jacketМ5_30-110.val" << testGOST << V_EX_OK; + QTest::newRow("jacketМ6_30-110") << "jacketМ6_30-110.val" << testGOST << V_EX_OK; + QTest::newRow("pantsМ1_52-176") << "pantsМ1_52-176.val" << testGOST << V_EX_OK; + QTest::newRow("pantsМ2_40-146") << "pantsМ2_40-146.val" << testGOST << V_EX_OK; + QTest::newRow("pantsМ7") << "pantsМ7.val" << testGOST << V_EX_OK; #endif - QTest::newRow("TShirt_test") << "TShirt_test.val" << keyTest << true << V_EX_OK; - QTest::newRow("TestDart") << "TestDart.val" << keyTest << true << V_EX_OK; - QTest::newRow("MaleShirt") << "MaleShirt.val" << keyTest << true << V_EX_OK; - QTest::newRow("Trousers") << "Trousers.val" << keyTest << true << V_EX_OK; - QTest::newRow("Basic block women") << "Basic_block_women-2016.val" << keyTest << true << V_EX_OK; - QTest::newRow("Gent Jacket with tummy") << "Gent_Jacket_with_tummy.val" << keyTest << true << V_EX_OK; - QTest::newRow("Steampunk_trousers") << "Steampunk_trousers.val" << keyTest << true << V_EX_OK; + QTest::newRow("TShirt_test") << "TShirt_test.val" << keyTest << V_EX_OK; + QTest::newRow("TestDart") << "TestDart.val" << keyTest << V_EX_OK; + QTest::newRow("MaleShirt") << "MaleShirt.val" << keyTest << V_EX_OK; + QTest::newRow("Trousers") << "Trousers.val" << keyTest << V_EX_OK; + QTest::newRow("Basic block women") << "Basic_block_women-2016.val" << keyTest << V_EX_OK; + QTest::newRow("Gent Jacket with tummy") << "Gent_Jacket_with_tummy.val" << keyTest << V_EX_OK; + QTest::newRow("Steampunk_trousers") << "Steampunk_trousers.val" << keyTest << V_EX_OK; #ifndef Q_OS_WIN - QTest::newRow("patrón_blusa") << "patrón_blusa.val" << keyTest << true << V_EX_OK; - QTest::newRow("PajamaTopWrap2") << "PajamaTopWrap2.val" << keyTest << true << V_EX_OK; - QTest::newRow("Keiko_skirt") << "Keiko_skirt.val" << keyTest << true << V_EX_OK; - QTest::newRow("pantalon_base_Eli") << "pantalon_base_Eli.val" << keyTest << true << V_EX_OK; - QTest::newRow("modell_2") << "modell_2.val" << keyTest << true << V_EX_OK; - QTest::newRow("IMK_Zhaketa") << "IMK_Zhaketa_poluprilegayuschego_silueta.val" << keyTest << true << V_EX_OK; - QTest::newRow("Moulage_0.5_armhole_neckline") << "Moulage_0.5_armhole_neckline.val" << keyTest << true << V_EX_OK; - QTest::newRow("0.7_Armhole_adjustment_0.10") << "0.7_Armhole_adjustment_0.10.val" << keyTest << true << V_EX_OK; + QTest::newRow("patrón_blusa") << "patrón_blusa.val" << keyTest << V_EX_OK; + QTest::newRow("PajamaTopWrap2") << "PajamaTopWrap2.val" << keyTest << V_EX_OK; + QTest::newRow("Keiko_skirt") << "Keiko_skirt.val" << keyTest << V_EX_OK; + QTest::newRow("pantalon_base_Eli") << "pantalon_base_Eli.val" << keyTest << V_EX_OK; + QTest::newRow("modell_2") << "modell_2.val" << keyTest << V_EX_OK; + QTest::newRow("IMK_Zhaketa") << "IMK_Zhaketa_poluprilegayuschego_silueta.val" << keyTest << V_EX_OK; + QTest::newRow("Moulage_0.5_armhole_neckline") << "Moulage_0.5_armhole_neckline.val" << keyTest << V_EX_OK; + QTest::newRow("0.7_Armhole_adjustment_0.10") << "0.7_Armhole_adjustment_0.10.val" << keyTest << V_EX_OK; #endif // We have a problem with encoding in Windows when we try to open some files in terminal } @@ -296,16 +267,13 @@ void TST_ValentinaCommandLine::TestOpenCollection() { QFETCH(QString, file); QFETCH(QString, arguments); - QFETCH(bool, result); QFETCH(int, exitCode); - int exit; const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestCollectionFolder; const QStringList arg = QStringList() << tmp + QDir::separator() + file << arguments.split(";;"); - const bool res = Run(result, exitCode, exit, ValentinaPath(), arg); + const int exit = Run(exitCode, ValentinaPath(), arg); - QCOMPARE(res, result); QCOMPARE(exit, exitCode); }