Implement proper function length support (#4290)
Comma after last destructuring argument has been fixed as well JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -32,17 +32,26 @@ function f1(a,) {}
|
||||
assert(f1.length === 1)
|
||||
|
||||
function f2(a = 1,) {}
|
||||
assert(f2.length === 1)
|
||||
assert(f2.length === 0)
|
||||
|
||||
function f3(a = 1, b = 1 + 1, c,) {}
|
||||
assert(f3.length === 3)
|
||||
assert(f3.length === 0)
|
||||
|
||||
var f4 = async(a,) => {}
|
||||
assert(f4.length === 1)
|
||||
|
||||
var f5 = async(a = 1,) => {}
|
||||
assert(f5.length === 1)
|
||||
var f5 = async(a = 1,b,) => {}
|
||||
assert(f5.length === 0)
|
||||
|
||||
assert(((a = 1, b = 1 + 1, c,) => {}).length === 3)
|
||||
assert(((a, b = 1 + 1, c,) => {}).length === 1)
|
||||
|
||||
assert(((a = 1, b, c = 1 + 1,) => {}).length === 3)
|
||||
assert(((a = 1, b, c = 1 + 1,) => {}).length === 0)
|
||||
|
||||
function f6([a=1, b], [c, [d = 5] = []], e, [{f} = {}, g],) {}
|
||||
assert(f6.length === 4)
|
||||
|
||||
function f7([a, {b = 1, 4 : c = 2} = {}], {'cc' : d = 5, e}, f, {g, h} = a = {},) {}
|
||||
assert(f7.length === 3)
|
||||
|
||||
function f8(a, [b] = [], ...e) {}
|
||||
assert(f8.length === 1)
|
||||
|
||||
Reference in New Issue
Block a user