summaryrefslogtreecommitdiff
path: root/Tests/StringFileTest
diff options
context:
space:
mode:
authorClinton Stimpson <clinton@elemtech.com>2014-08-04 10:47:22 -0600
committerBrad King <brad.king@kitware.com>2014-08-06 09:23:47 -0400
commit5b30ec28f9610b0e6d12b017d83fc362b0ef9ecf (patch)
treef65b3c668a8794db8419861839d705400a88e116 /Tests/StringFileTest
parentffa373e71114727dd70f1a051414de573debb767 (diff)
downloadcmake-5b30ec28f9610b0e6d12b017d83fc362b0ef9ecf.tar.gz
file: Add ENCODING option to file(STRINGS) command (#10519)
Support extraction of UTF-8 strings.
Diffstat (limited to 'Tests/StringFileTest')
-rw-r--r--Tests/StringFileTest/CMakeLists.txt10
-rw-r--r--Tests/StringFileTest/test.utf83
2 files changed, 13 insertions, 0 deletions
diff --git a/Tests/StringFileTest/CMakeLists.txt b/Tests/StringFileTest/CMakeLists.txt
index 4fa5a86317..683f96945a 100644
--- a/Tests/StringFileTest/CMakeLists.txt
+++ b/Tests/StringFileTest/CMakeLists.txt
@@ -55,6 +55,16 @@ else()
"file(STRINGS) incorrectly read from srec file [${infile_strings}]")
endif()
+#this file has utf-8 content
+file(STRINGS test.utf8 infile_strings ENCODING UTF-8)
+list(LENGTH infile_strings content_len)
+if(content_len MATCHES "3")
+ message("file(STRINGS) correctly read from utf8 file [${infile_strings}]")
+else()
+ message(SEND_ERROR
+ "file(STRINGS) incorrectly read from utf8 file [${infile_strings}]")
+endif()
+
# String test
string(REGEX MATCH "[cC][mM][aA][kK][eE]" rmvar "CMake is great")
string(REGEX MATCHALL "[cC][mM][aA][kK][eE]" rmallvar "CMake is better than cmake or CMake")
diff --git a/Tests/StringFileTest/test.utf8 b/Tests/StringFileTest/test.utf8
new file mode 100644
index 0000000000..6c29170740
--- /dev/null
+++ b/Tests/StringFileTest/test.utf8
@@ -0,0 +1,3 @@
+The value of π (pi) is 3.141593
+Line mixed with binary partially matches valid utf8: Ï€ is à93.1593
+à \ No newline at end of file