summaryrefslogtreecommitdiffstats
path: root/test cases/common/62 string arithmetic/meson.build
blob: acfac0b471260f2a54be23f6fd57a5f6150e2527 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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)