diff --git a/scripts/UnitTests/CopyParser/test_copyArguments.py b/scripts/UnitTests/CopyParser/test_copyArguments.py index e220626..e610773 100644 --- a/scripts/UnitTests/CopyParser/test_copyArguments.py +++ b/scripts/UnitTests/CopyParser/test_copyArguments.py @@ -16,4 +16,22 @@ class TestCopyArguments(unittest.TestCase): self.__copyArguments.setArguments(None, "someVal2") isValid = self.__copyArguments.isValid() - self.assertEqual(False, isValid) \ No newline at end of file + self.assertEqual(False, isValid) + + def test_safeValues(self): + self.__copyArguments.setArguments('val1', 'val2') + + safeSrc = self.__copyArguments.getSafeSource() + safeDst = self.__copyArguments.getSaveTarget() + + self.assertEqual('val1', safeSrc) + self.assertEqual('val2', safeDst) + + def test_unsafeValues(self): + self.__copyArguments.setArguments('val1 with ws', 'val2 with ws') + + safeSrc = self.__copyArguments.getSafeSource() + safeDst = self.__copyArguments.getSaveTarget() + + self.assertEqual('"val1 with ws"', safeSrc) + self.assertEqual('"val2 with ws"', safeDst) diff --git a/scripts/parser/CopyParser/CopyArguments.py b/scripts/parser/CopyParser/CopyArguments.py index 09f968d..a0b9bc7 100644 --- a/scripts/parser/CopyParser/CopyArguments.py +++ b/scripts/parser/CopyParser/CopyArguments.py @@ -14,4 +14,18 @@ class CopyArguments(): result = self.source is not None result &= self.target is not None - return result \ No newline at end of file + return result + + def getSafeSource(self): + safeSource = self.__makeSafe(self.source) + return safeSource + + def getSaveTarget(self): + safeTarget = self.__makeSafe(self.target) + return safeTarget + + def __makeSafe(self, filePath): + assert filePath is not None + + safe = filePath if ' ' not in filePath else '"{0}"'.format(filePath) + return safe \ No newline at end of file