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: