@@ -330,8 +330,33 @@ def test_LocalVariableTargetNode
330
330
assert_prism_eval ( "pit, pit1 = 1" )
331
331
end
332
332
333
+ def test_MultiTargetNode
334
+ assert_prism_eval ( "a, (b, c) = [1, 2, 3]" )
335
+ assert_prism_eval ( "a, (b, c) = [1, 2, 3]; a" )
336
+ assert_prism_eval ( "a, (b, c) = [1, 2, 3]; b" )
337
+ assert_prism_eval ( "a, (b, c) = [1, 2, 3]; c" )
338
+ assert_prism_eval ( "a, (b, c) = [1, [2, 3]]; c" )
339
+ assert_prism_eval ( "(a, (b, c, d, e), f, g), h = [1, [2, 3]], 4, 5, [6, 7]; c" )
340
+ end
341
+
333
342
def test_MultiWriteNode
334
- assert_prism_eval ( "foo, bar = [1,2]" )
343
+ assert_prism_eval ( "foo, bar = [1, 2]" )
344
+ assert_prism_eval ( "foo, *, bar = [1, 2]" )
345
+ assert_prism_eval ( "foo, bar = 1, 2" )
346
+ assert_prism_eval ( "foo, *, bar = 1, 2" )
347
+ assert_prism_eval ( "foo, *, bar = 1, 2, 3, 4" )
348
+ assert_prism_eval ( "a, b, *, d = 1, 2, 3, 4" )
349
+ assert_prism_eval ( "a, b, *, d = 1, 2" )
350
+ assert_prism_eval ( "(a, b), *, c = [1, 3], 4, 5" )
351
+ assert_prism_eval ( "(a, b), *, c = [1, 3], 4, 5; a" )
352
+ assert_prism_eval ( "(a, b), *, c = [1, 3], 4, 5; b" )
353
+ assert_prism_eval ( "(a, b), *, c = [1, 3], 4, 5; c" )
354
+ assert_prism_eval ( "a, *, (c, d) = [1, 3], 4, 5; a" )
355
+ assert_prism_eval ( "a, *, (c, d) = [1, 3], 4, 5; c" )
356
+ assert_prism_eval ( "(a, b, c), *, (d, e) = [1, 3], 4, 5, [6, 7]" )
357
+ assert_prism_eval ( "(a, b, c), *, (d, e) = [1, 3], 4, 5, [6, 7]; b" )
358
+ assert_prism_eval ( "(a, b, c), *, (d, e) = [1, 3], 4, 5, [6, 7]; d" )
359
+ assert_prism_eval ( "((a, *, b), *, (c, *, (d, *, e, f, g))), *, ((h, i, *, j), *, (k, l, m, *, n, o, p), q, r) = 1; a" )
335
360
end
336
361
337
362
############################################################################
0 commit comments