summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests/StringTestScript.cmake
diff options
context:
space:
mode:
authorDomen Vrankar <domen.vrankar@gmail.com>2014-11-12 22:57:16 (GMT)
committerBrad King <brad.king@kitware.com>2014-11-13 16:04:52 (GMT)
commit474bbb9dbcd6c257e68874e6966c145b3b82dbdd (patch)
tree8ede20f72deac3bf628c81a1e581035a8756364b /Tests/CMakeTests/StringTestScript.cmake
parenta9a040e1698a7caf9518c27d3394293e7fe11d59 (diff)
downloadCMake-474bbb9dbcd6c257e68874e6966c145b3b82dbdd.zip
CMake-474bbb9dbcd6c257e68874e6966c145b3b82dbdd.tar.gz
CMake-474bbb9dbcd6c257e68874e6966c145b3b82dbdd.tar.bz2
string: Tolerate SUBSTRING length exceeding end index
string SUBSTRING command now ignores length if it points past end of string and uses end of string instead. String SUBSTRING tests now cover more corner cases.
Diffstat (limited to 'Tests/CMakeTests/StringTestScript.cmake')
-rw-r--r--Tests/CMakeTests/StringTestScript.cmake11
1 files changed, 7 insertions, 4 deletions
diff --git a/Tests/CMakeTests/StringTestScript.cmake b/Tests/CMakeTests/StringTestScript.cmake
index a562e71..44d5653 100644
--- a/Tests/CMakeTests/StringTestScript.cmake
+++ b/Tests/CMakeTests/StringTestScript.cmake
@@ -122,14 +122,17 @@ elseif(testname STREQUAL substring_not_enough_args) # fail
elseif(testname STREQUAL substring_begin_too_large) # fail
string(SUBSTRING "abcdefg" 25 100 v)
-elseif(testname STREQUAL substring_end_too_large) # fail
+elseif(testname STREQUAL substring_end_larger_than_strlen) # pass
string(SUBSTRING "abcdefg" 1 100 v)
elseif(testname STREQUAL substring_begin_less_than_zero) # fail
- string(SUBSTRING "abcdefg" -2 4 v)
+ string(SUBSTRING "abcdefg" -1 4 v)
-elseif(testname STREQUAL substring_end_less_than_begin) # fail
- string(SUBSTRING "abcdefg" 6 3 v)
+elseif(testname STREQUAL substring_end_less_than_zero) # pass
+ string(SUBSTRING "abcdefg" 0 -1 v)
+
+elseif(testname STREQUAL substring_end_less_than_begin) # pass
+ string(SUBSTRING "abcdefg" 6 0 v)
elseif(testname STREQUAL length_not_enough_args) # fail
string(LENGTH)