Corrected the behavior of Function.constructor() when invoked without arguments
relative to an object.
njs_chb_append_literal(&chain, "){");
- ret = njs_value_to_chain(vm, &chain, njs_argument(args, nargs - 1));
- if (njs_slow_path(ret < NJS_OK)) {
- return ret;
+ if (nargs > 1) {
+ ret = njs_value_to_chain(vm, &chain, njs_argument(args, nargs - 1));
+ if (njs_slow_path(ret < NJS_OK)) {
+ return ret;
+ }
}
njs_chb_append_literal(&chain, "})");
{ njs_str("Function.constructor === Function"),
njs_str("true") },
+ { njs_str("Function.constructor()"),
+ njs_str("[object Function]") },
+
{ njs_str("function f() {} f.__proto__ === Function.prototype"),
njs_str("true") },