summaryrefslogtreecommitdiffstats
path: root/test cases/common/62 string arithmetic/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/common/62 string arithmetic/meson.build')
-rw-r--r--test cases/common/62 string arithmetic/meson.build49
1 files changed, 49 insertions, 0 deletions
diff --git a/test cases/common/62 string arithmetic/meson.build b/test cases/common/62 string arithmetic/meson.build
new file mode 100644
index 0000000..acfac0b
--- /dev/null
+++ b/test cases/common/62 string arithmetic/meson.build
@@ -0,0 +1,49 @@
+project('string arithmetic', meson_version: '>=0.62.0')
+
+assert('foo' + 'bar' == 'foobar')
+assert('foo' + 'bar' + 'baz' == 'foobarbaz')
+
+a = 'a'
+b = 'b'
+assert(a + b + 'c' == 'abc')
+
+# ------------------------------------------------------------------------------
+# format strings:
+# ------------------------------------------------------------------------------
+sub1 = 'the'
+sub2 = ' quick\n'
+sub3 = ' brown'
+sub4 = '\nfox'
+x = f'@sub1@@sub2@@sub3@@sub4@'
+
+assert(x == sub1 + sub2 + sub3 + sub4)
+assert(x == 'the quick\n brown\nfox')
+
+# ------------------------------------------------------------------------------
+# multi-line format strings
+# ------------------------------------------------------------------------------
+y_actual = f'''This is a multi-line comment with string substitution:
+ "@sub1@@sub2@@sub3@@sub4@"
+
+And I can even substitute the entry multiple times!
+
+@sub1@
+@sub2@
+@sub3@
+'''
+
+y_expect = '''This is a multi-line comment with string substitution:
+ "the quick
+ brown
+fox"
+
+And I can even substitute the entry multiple times!
+
+the
+ quick
+
+ brown
+'''
+message('actual=' + y_actual)
+message('expect=' + y_expect)
+assert(y_actual == y_expect)