aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Behle <behlec@gmail.com>2018-06-11 19:50:48 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-12 00:14:54 +0000
commitb19b714f374f7bbf9fe049ff7239f25d3ec5b108 (patch)
treec06a5cfe45cf7a533df82ae5e8f3e08fee07f000
parent626b0bcb057ad63804d37bc7276fd3eb846fe39c (diff)
downloadmeson-b19b714f374f7bbf9fe049ff7239f25d3ec5b108.zip
meson-b19b714f374f7bbf9fe049ff7239f25d3ec5b108.tar.gz
meson-b19b714f374f7bbf9fe049ff7239f25d3ec5b108.tar.bz2
Add tests for concatenate_string_literals
-rw-r--r--test cases/common/140 get define/concat.h19
-rw-r--r--test cases/common/140 get define/meson.build14
2 files changed, 29 insertions, 4 deletions
diff --git a/test cases/common/140 get define/concat.h b/test cases/common/140 get define/concat.h
index 711e5b1..b32a4f3 100644
--- a/test cases/common/140 get define/concat.h
+++ b/test cases/common/140 get define/concat.h
@@ -5,8 +5,19 @@
#define TEST_VERSION_MINOR 0
#define TEST_VERSION_BUGFIX 0
-#define TEST_VERSION_STR \
- TEST_STRINGIFY(TEST_VERSION_MAJOR) \
- "." TEST_STRINGIFY(TEST_VERSION_MINOR) "." TEST_STRINGIFY(TEST_VERSION_BUGFIX)
+#define TEST_VERSION_STR \
+ TEST_STRINGIFY(TEST_VERSION_MAJOR) \
+ "." TEST_STRINGIFY(TEST_VERSION_MINOR) "." TEST_STRINGIFY( \
+ TEST_VERSION_BUGFIX)
-// TEST_VERSION_STR "6" "." "0" "." "0"
+#define TEST_CONCAT_1 \
+ "ab" \
+ "cd" \
+ "ef"
+#define TEST_CONCAT_2 1
+#define TEST_CONCAT_3 1 2 3
+#define TEST_CONCAT_4 "ab" 1 "cd"
+#define TEST_CONCAT_5 \
+ "ab\"" \
+ "cd"
+#define TEST_CONCAT_6 "ab\" \"cd"
diff --git a/test cases/common/140 get define/meson.build b/test cases/common/140 get define/meson.build
index 5d7f858..6d7cbfa 100644
--- a/test cases/common/140 get define/meson.build
+++ b/test cases/common/140 get define/meson.build
@@ -84,4 +84,18 @@ foreach lang : ['c', 'cpp']
have = cc.get_define('TEST_VERSION_STR',
prefix : '#include <concat.h>', include_directories: include_directories('.'), concatenate_string_literals: true)
assert(have == '"6.0.0"', 'TEST_VERSION_STR value is "@0@" instead of ""6.0.0""'.format(have))
+
+ concat_examples = {
+ 'TEST_CONCAT_1': '"abcdef"',
+ 'TEST_CONCAT_2': '1',
+ 'TEST_CONCAT_3': '1 2 3',
+ 'TEST_CONCAT_4': '"ab" 1 "cd"',
+ 'TEST_CONCAT_5': '"ab\"cd"',
+ 'TEST_CONCAT_6': '"ab\" \"cd"',
+ }
+ foreach def,expected : concat_examples
+ have = cc.get_define(def,
+ prefix : '#include <concat.h>', include_directories: include_directories('.'), concatenate_string_literals: true)
+ assert(have == expected, '@0@ value is "@1@" instead of "@2@"'.format(def, have, expected))
+ endforeach
endforeach