diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2016-03-09 17:40:48 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2016-03-09 18:45:31 +0000 |
commit | 93cc2d6e053031a7008f73ca1ea072038bfa3fc8 (patch) | |
tree | 76d079a8d6bd231559ddd84131e663e975946d5b /test | |
parent | fae3a611be53dbf58cbb7c2c4846081ecb87606e (diff) |
String expansions: fix ${extract }, for the numeric/3-string case. Bug 1807
Broken-by: 82dbd37
In "skipping" mode when parsing an expansion we want to avoid expanding
the arguments, as the data for expansion is not necessarily valid. This
bit us previously for an extract within an "if inlist". But the number of
args for ${extract } depends on the expanded value of the first arg.
Retreat from strict parsing and just line up the outer braces,
accepting any number of args while skipping. The separate
non-skipping execution will do the proper checking.
Diffstat (limited to 'test')
-rw-r--r-- | test/scripts/0000-Basic/0002 | 3 | ||||
-rw-r--r-- | test/stdout/0002 | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 105134da3..bc61998ca 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -615,6 +615,9 @@ ${extract{}{X=3}} ${extract{ }{X=3}} ${extract{ 2 }{ }{a b c}} +${map{a,1:b,2:c,3}{${extract{1}{,}{$item}{$value}{}}}} +${map{a,1:b,2:c,3}{${extract{1}{,}{$item}{$value}{failcase}{bogus_argument}}}} + # Translation abcdea aaa xyz ${tr{abcdea}{aaa}{xyz}} diff --git a/test/stdout/0002 b/test/stdout/0002 index ee351a278..ee1ef9d93 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -577,6 +577,9 @@ > Failed: first argument of "extract" must not be empty > b > +> a:b:c +> Failed: missing or misplaced { or } inside "map" item +> > # Translation > > abcdea aaa xyz zbcdez |