else
{
set_var_lval(&lv, p, tv, copy, flags, op, var_idx);
- arg_end = p;
+ arg_end = lv.ll_name_end;
}
}
clear_lval(&lv);
endfor
assert_equal(6, total)
- # loop over string
+ # with type
+ total = 0
+ for n: number in [1, 2, 3]
+ total += n
+ endfor
+ assert_equal(6, total)
+
+ # unpack with type
var res = ''
+ for [n: number, s: string] in [[1, 'a'], [2, 'b']]
+ res ..= n .. s
+ endfor
+ assert_equal('1a2b', res)
+
+ # loop over string
+ res = ''
for c in 'aéc̀d'
res ..= c .. '-'
endfor
assert_equal([{a: 'Cat', counter: 12}], foo)
END
CheckDefAndScriptSuccess(lines)
-
- # TODO: should also work at script level
- var res = ""
- for [n: number, s: string] in [[1, 'a'], [2, 'b']]
- res ..= n .. s
- endfor
- assert_equal('1a2b', res)
enddef
def Test_for_loop_fails()