diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2017-11-04 16:29:42 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-04 16:29:42 +0800 |
commit | 71e61153b1b3d5f2446b83a3507231509e11e90e (patch) | |
tree | 0a270d6d0f58a8001dcd48b6744d7d69d2fbba8c | |
parent | c8b6f4733d35db48b5b7e2373264db0d99eb299f (diff) | |
download | tracifyjs-71e61153b1b3d5f2446b83a3507231509e11e90e.tar.gz tracifyjs-71e61153b1b3d5f2446b83a3507231509e11e90e.zip |
improve variations on call arguments for `ufuzz` (#2424)
-rw-r--r-- | test/ufuzz.js | 12 |
1 files 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; } @@ -628,6 +629,9 @@ function _createExpression(recurmax, noComma, stmtDepth, canThrow) { case p++: return createValue(); case p++: + case p++: + return getVarName(); + case p++: return createExpression(recurmax, COMMA_OK, stmtDepth, canThrow); case p++: return createExpression(recurmax, noComma, stmtDepth, canThrow) + '?' + createExpression(recurmax, NO_COMMA, stmtDepth, canThrow) + ':' + createExpression(recurmax, noComma, stmtDepth, canThrow); |