From 71e61153b1b3d5f2446b83a3507231509e11e90e Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sat, 4 Nov 2017 16:29:42 +0800 Subject: [PATCH] improve variations on call arguments for `ufuzz` (#2424) --- test/ufuzz.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/ufuzz.js b/test/ufuzz.js index d6a2a45b..702e2078 100644 --- a/test/ufuzz.js +++ b/test/ufuzz.js @@ -350,10 +350,10 @@ function createParams() { return params.join(', '); } -function createArgs() { +function createArgs(recurmax, stmtDepth, canThrow) { var args = []; for (var n = rng(4); --n >= 0;) { - args.push(createValue()); + args.push(createExpression(recurmax, COMMA_OK, stmtDepth, canThrow)); } return args.join(', '); } @@ -391,9 +391,10 @@ function createFunction(recurmax, inGlobal, noDecl, canThrow, stmtDepth) { VAR_NAMES.length = namesLenBefore; - if (noDecl) s = 'var ' + createVarName(MANDATORY) + ' = ' + s + '(' + createExpression(recurmax, COMMA_OK, stmtDepth, canThrow) + ');'; + if (noDecl) s = 'var ' + createVarName(MANDATORY) + ' = ' + s; // avoid "function statements" (decl inside statements) - else if (inGlobal || rng(10) > 0) s += 'var ' + createVarName(MANDATORY) + ' = ' + name + '(' + createArgs() + ');'; + else if (inGlobal || rng(10) > 0) s += 'var ' + createVarName(MANDATORY) + ' = ' + name; + s += '(' + createArgs(recurmax, stmtDepth, canThrow) + ');'; return s; } @@ -627,6 +628,9 @@ function _createExpression(recurmax, noComma, stmtDepth, canThrow) { case p++: case p++: return createValue(); + case p++: + case p++: + return getVarName(); case p++: return createExpression(recurmax, COMMA_OK, stmtDepth, canThrow); case p++: -- 2.34.1