diff options
| author | Eli Schwartz <eschwartz@archlinux.org> | 2021-11-04 18:46:09 -0400 |
|---|---|---|
| committer | Eli Schwartz <eschwartz@archlinux.org> | 2021-11-04 18:57:14 -0400 |
| commit | 558f9fed9e4136f858b58749fd35127a73229cd2 (patch) | |
| tree | 5c5256801e73b7d739b5201db6a8b36ee147abfe /test cases | |
| parent | 1104b82137da55ecb4f13348bbb020d64e4fc78b (diff) | |
| download | meson-558f9fed9e4136f858b58749fd35127a73229cd2.tar.gz | |
fix regression that broke string.format with list objects
String formatting should validly assume that printing a list means
printing the list itself. Instead, something like this broke:
'one is: @0@ and two is: @1@'.format(['foo', 'bar'], ['baz'])
which would evaluate as:
'one is: foo and two is: bar'
or:
'the value of array option foobar is: @0@'.format(get_option('foobar'))
which should evaluate with '-Dfoobar=[]' as
'the value of array option foobar is: []'
But instead produced:
meson.build:7:0: ERROR: Format placeholder @0@ out of range.
Fixes #9530
Diffstat (limited to 'test cases')
| -rw-r--r-- | test cases/common/35 string operations/meson.build | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test cases/common/35 string operations/meson.build b/test cases/common/35 string operations/meson.build index b86e13a1a..2ba70b6e1 100644 --- a/test cases/common/35 string operations/meson.build +++ b/test cases/common/35 string operations/meson.build @@ -60,6 +60,7 @@ assert(false.to_string() == 'false', 'bool string conversion failed') assert(true.to_string('yes', 'no') == 'yes', 'bool string conversion with args failed') assert(false.to_string('yes', 'no') == 'no', 'bool string conversion with args failed') assert('@0@'.format(true) == 'true', 'bool string formatting failed') +assert('@0@'.format(['one', 'two']) == '[\'one\', \'two\']', 'list string formatting failed') assert(' '.join(['a', 'b', 'c']) == 'a b c', 'join() array broken') assert(''.join(['a', 'b', 'c']) == 'abc', 'empty join() broken') |
