aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2017-11-04 16:29:42 +0800
committerGitHub <noreply@github.com>2017-11-04 16:29:42 +0800
commit71e61153b1b3d5f2446b83a3507231509e11e90e (patch)
tree0a270d6d0f58a8001dcd48b6744d7d69d2fbba8c
parentc8b6f4733d35db48b5b7e2373264db0d99eb299f (diff)
downloadtracifyjs-71e61153b1b3d5f2446b83a3507231509e11e90e.tar.gz
tracifyjs-71e61153b1b3d5f2446b83a3507231509e11e90e.zip
improve variations on call arguments for `ufuzz` (#2424)
-rw-r--r--test/ufuzz.js12
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);