From f5e866d36e8fb6309ec61717ce0d26ca747d81ad Mon Sep 17 00:00:00 2001 From: "mstarzinger@chromium.org" Date: Tue, 10 Jun 2014 15:19:27 +0000 Subject: [PATCH] Add arity checks to mjsunit's assertEquals and assertSame BUG=None LOG=n R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/309173003 Patch from Erik Arvidsson . git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- test/mjsunit/mjsunit.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/mjsunit/mjsunit.js b/test/mjsunit/mjsunit.js index 121b7e0..bcd4913 100644 --- a/test/mjsunit/mjsunit.js +++ b/test/mjsunit/mjsunit.js @@ -231,8 +231,16 @@ var assertUnoptimized; return deepObjectEquals(a, b); } + function checkArity(args, arity, name) { + if (args.length < arity) { + fail(PrettyPrint(arity), args.length, + name + " requires " + arity + " or more arguments"); + } + } assertSame = function assertSame(expected, found, name_opt) { + checkArity(arguments, 2, "assertSame"); + // TODO(mstarzinger): We should think about using Harmony's egal operator // or the function equivalent Object.is() here. if (found === expected) { @@ -245,6 +253,8 @@ var assertUnoptimized; assertEquals = function assertEquals(expected, found, name_opt) { + checkArity(arguments, 2, "assertEquals"); + if (!deepEquals(found, expected)) { fail(PrettyPrint(expected), found, name_opt); } -- 2.7.4