diff --git a/src/app/valentina/core/vcmdexport.cpp b/src/app/valentina/core/vcmdexport.cpp index 9e6c7bb66..da12f76a9 100644 --- a/src/app/valentina/core/vcmdexport.cpp +++ b/src/app/valentina/core/vcmdexport.cpp @@ -555,8 +555,9 @@ QString VCommandLine::OptMeasurePath() const { QString measure; if (parser.isSet(*optionsUsed.value(optionsIndex.value(LONG_OPTION_MEASUREFILE))) - && IsExportEnabled() //todo: don't want yet to allow user set measure file for general loading, because need to fix multiply opened windows as well - ) + && (IsExportEnabled() || IsTestModeEnabled())) + //todo: don't want yet to allow user set measure file for general loading, + //because need to fix multiply opened windows as well { measure = parser.value(*optionsUsed.value(optionsIndex.value(LONG_OPTION_MEASUREFILE))); } diff --git a/src/test/ValentinaTest/ValentinaTest.pro b/src/test/ValentinaTest/ValentinaTest.pro index 9779eab2c..98a5ec3d0 100644 --- a/src/test/ValentinaTest/ValentinaTest.pro +++ b/src/test/ValentinaTest/ValentinaTest.pro @@ -239,7 +239,14 @@ VALENTINA_TEST_FILES += \ tst_valentina/glimited_vit.val \ tst_valentina/glimited.vit \ tst_valentina/glimited_vst.val \ - tst_valentina/glimited.vst + tst_valentina/glimited.vst \ + tst_valentina/issue_256.val \ + tst_valentina/issue_256_wrong_path.val \ + tst_valentina/issue_256_correct.vit \ + tst_valentina/issue_256_wrong.vit \ + tst_valentina/issue_256_correct.vst \ + tst_valentina/issue_256_wrong.vit + # Compilation will fail without this files after we added them to this section. OTHER_FILES += \ diff --git a/src/test/ValentinaTest/tst_valentina/issue_256.val b/src/test/ValentinaTest/tst_valentina/issue_256.val new file mode 100644 index 000000000..73728c7ca --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256.val @@ -0,0 +1,37 @@ + + + + 0.2.2 + cm + + + + issue_256_correct.vit + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+
diff --git a/src/test/ValentinaTest/tst_valentina/issue_256_correct.vit b/src/test/ValentinaTest/tst_valentina/issue_256_correct.vit new file mode 100644 index 000000000..987d856d8 --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256_correct.vit @@ -0,0 +1,38 @@ + + + + 0.3.3 + false + + cm + 998 + + Spencer + Susan + 1900-01-01 + female + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/ValentinaTest/tst_valentina/issue_256_correct.vst b/src/test/ValentinaTest/tst_valentina/issue_256_correct.vst new file mode 100644 index 000000000..43ddc3199 --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256_correct.vst @@ -0,0 +1,16 @@ + + + + 0.4.2 + false + + cm + 998 + + + + + + + + diff --git a/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vit b/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vit new file mode 100644 index 000000000..c17d6e027 --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vit @@ -0,0 +1,37 @@ + + + + 0.3.3 + false + + cm + 998 + + Spencer + Susan + 1900-01-01 + female + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vst b/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vst new file mode 100644 index 000000000..98ee1bdc6 --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256_wrong.vst @@ -0,0 +1,15 @@ + + + + 0.4.2 + false + + cm + 998 + + + + + + + diff --git a/src/test/ValentinaTest/tst_valentina/issue_256_wrong_path.val b/src/test/ValentinaTest/tst_valentina/issue_256_wrong_path.val new file mode 100644 index 000000000..73728c7ca --- /dev/null +++ b/src/test/ValentinaTest/tst_valentina/issue_256_wrong_path.val @@ -0,0 +1,37 @@ + + + + 0.2.2 + cm + + + + issue_256_correct.vit + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+
diff --git a/src/test/ValentinaTest/tst_valentinacommandline.cpp b/src/test/ValentinaTest/tst_valentinacommandline.cpp index 9de8cf9da..a8f1bf3f6 100644 --- a/src/test/ValentinaTest/tst_valentinacommandline.cpp +++ b/src/test/ValentinaTest/tst_valentinacommandline.cpp @@ -48,8 +48,8 @@ void TST_ValentinaCommandLine::init() QFAIL("Fail to remove temp directory."); } - if (not CopyRecursively(QApplication::applicationDirPath() + QLatin1Char('/') + QLatin1Literal("tst_valentina"), - QApplication::applicationDirPath() + QLatin1Char('/') + tmpTestFolder)) + if (not CopyRecursively(QApplication::applicationDirPath() + QDir::separator() + QLatin1Literal("tst_valentina"), + QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder)) { QFAIL("Fail to prepare files for testing."); } @@ -91,7 +91,8 @@ void TST_ValentinaCommandLine::OpenPatterns() int exit; const bool res = Run(result, exitCode, exit, ValentinaPath(), QStringList() << "--test" - << QApplication::applicationDirPath() + QLatin1Char('/') + tmpTestFolder + QLatin1Char('/') + file); + << QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder + QDir::separator() + + file); QCOMPARE(res, result); QCOMPARE(exit, exitCode); @@ -106,7 +107,7 @@ void TST_ValentinaCommandLine::ExportMode_data() const QTest::addColumn("result"); QTest::addColumn("exitCode"); - const QString tmp = QApplication::applicationDirPath() + QLatin1Char('/') + tmpTestFolder; + const QString tmp = QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder; QTest::newRow("Issue #372")<< "issue_372.val" << QString("-p;;0;;-d;;%1;;-b;;output").arg(tmp) @@ -148,8 +149,71 @@ void TST_ValentinaCommandLine::ExportMode() QFETCH(int, exitCode); int exit; - const QStringList arg = QStringList() << QApplication::applicationDirPath() + QLatin1Char('/') + tmpTestFolder + - QLatin1Char('/') + file + const QStringList arg = QStringList() << QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder + + QDir::separator() + file + << arguments.split(";;"); + const bool res = Run(result, exitCode, exit, ValentinaPath(), arg); + + QCOMPARE(res, result); + QCOMPARE(exit, exitCode); +} + +//--------------------------------------------------------------------------------------------------------------------- +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() + + QLatin1Literal("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() + + QLatin1Literal("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() + + QLatin1Literal("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() + + QLatin1Literal("issue_256_wrong.vst")) + << false + << V_EX_NOINPUT; +} + +//--------------------------------------------------------------------------------------------------------------------- +void TST_ValentinaCommandLine::TestMode() +{ + QFETCH(QString, file); + QFETCH(QString, arguments); + QFETCH(bool, result); + QFETCH(int, exitCode); + + int exit; + const QStringList arg = QStringList() << QApplication::applicationDirPath() + QDir::separator() + tmpTestFolder + + QDir::separator() + file << arguments.split(";;"); const bool res = Run(result, exitCode, exit, ValentinaPath(), arg); diff --git a/src/test/ValentinaTest/tst_valentinacommandline.h b/src/test/ValentinaTest/tst_valentinacommandline.h index 148ede2ec..7ac464c1b 100644 --- a/src/test/ValentinaTest/tst_valentinacommandline.h +++ b/src/test/ValentinaTest/tst_valentinacommandline.h @@ -43,6 +43,8 @@ private slots: void OpenPatterns(); void ExportMode_data() const; void ExportMode(); + void TestMode_data() const; + void TestMode(); void cleanup(); private: