diff --git a/src/Base/Quantity.cpp b/src/Base/Quantity.cpp index 59350fd5a0..7de1e7c49b 100644 --- a/src/Base/Quantity.cpp +++ b/src/Base/Quantity.cpp @@ -28,6 +28,7 @@ #include #endif +#include #include "Quantity.h" #include "Exception.h" #include "UnitsApi.h" @@ -255,6 +256,8 @@ QString Quantity::getSafeUserString() const retString = QStringLiteral("%1 %2").arg(this->myValue).arg(this->getUnit().getString()); } } + retString = + QString::fromStdString(Base::Tools::escapeQuotesFromString(retString.toStdString())); return retString; } diff --git a/tests/src/Base/Quantity.cpp b/tests/src/Base/Quantity.cpp index bafd3aa392..592bbbcca3 100644 --- a/tests/src/Base/Quantity.cpp +++ b/tests/src/Base/Quantity.cpp @@ -226,5 +226,21 @@ TEST_F(Quantity, TestSafeUserString) QString result = quantity.getSafeUserString(); EXPECT_EQ(result.toStdString(), "1 mm"); + + Base::UnitsApi::setSchema(Base::UnitSystem::Imperial1); + + quantity = Base::Quantity {304.8, Base::Unit::Length}; + quantity.setFormat(format); + + result = quantity.getSafeUserString(); + + EXPECT_EQ(result.toStdString(), "1.0 \\'"); + + quantity = Base::Quantity {25.4, Base::Unit::Length}; + quantity.setFormat(format); + + result = quantity.getSafeUserString(); + + EXPECT_EQ(result.toStdString(), "1.0 \\\""); } // NOLINTEND