From e9412102349e92289ce1487838a75b30b5374a7a Mon Sep 17 00:00:00 2001
From: Rolf Eike Beer <eike@sf-mail.de>
Date: Sun, 9 Sep 2012 12:36:53 +0200
Subject: [PATCH] string(CONFIGURE): add a real testcase for ESCAPE_QUOTES

---
 Tests/CMakeTests/StringTestScript.cmake | 15 ++++++++++++++-
 1 Datei geändert, 14 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/Tests/CMakeTests/StringTestScript.cmake b/Tests/CMakeTests/StringTestScript.cmake
index a562e71..ca20f42 100644
--- a/Tests/CMakeTests/StringTestScript.cmake
+++ b/Tests/CMakeTests/StringTestScript.cmake
@@ -28,9 +28,22 @@ elseif(testname STREQUAL configure_no_input) # fail
 elseif(testname STREQUAL configure_no_variable) # fail
   string(CONFIGURE "this is @testname@")
 
-elseif(testname STREQUAL configure_escape_quotes) # pass
+elseif(testname STREQUAL configure_escape_quotes_noquote) # pass
   string(CONFIGURE "this is @testname@" v ESCAPE_QUOTES)
+  string(CONFIGURE "this is @testname@" w)
   message(STATUS "v='${v}'")
+  if(NOT v STREQUAL w)
+    message(FATAL_ERROR "string(CONFIGURE) should return the same for input"
+            "without quotes if ESCAPE_QUOTES is given or not, but returned"
+            "v='${v}' w='${w}'")
+  endif()
+
+elseif(testname STREQUAL configure_escape_quotes_quoted) # pass
+  set(QUOTED_TESTNAME "\"${testname}\"")
+  string(CONFIGURE "this is @QUOTED_TESTNAME@" v ESCAPE_QUOTES)
+  if(NOT "this is \\\"${testname}\\\"")
+    message(FATAL_ERROR "string(CONFIGURE) should return 'this is \\\"${testname}\\\"' returned '${v}'")
+  endif()
 
 elseif(testname STREQUAL configure_bogus) # fail
   string(CONFIGURE "this is @testname@" v ESCAPE_QUOTES BOGUS)
-- 
1.7.11.5

