@@ -25,7 +25,8 @@ const { codes: {
2525 ERR_AMBIGUOUS_ARGUMENT ,
2626 ERR_INVALID_ARG_TYPE ,
2727 ERR_INVALID_ARG_VALUE ,
28- ERR_INVALID_RETURN_VALUE
28+ ERR_INVALID_RETURN_VALUE ,
29+ ERR_MISSING_ARGS
2930} } = require ( 'internal/errors' ) ;
3031const AssertionError = require ( 'internal/assert/assertion_error' ) ;
3132const { openSync, closeSync, readSync } = require ( 'fs' ) ;
@@ -351,6 +352,9 @@ assert.ok = ok;
351352// The equality assertion tests shallow, coercive equality with ==.
352353/* eslint-disable no-restricted-properties */
353354assert . equal = function equal ( actual , expected , message ) {
355+ if ( arguments . length < 2 ) {
356+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
357+ }
354358 // eslint-disable-next-line eqeqeq
355359 if ( actual != expected ) {
356360 innerFail ( {
@@ -366,6 +370,9 @@ assert.equal = function equal(actual, expected, message) {
366370// The non-equality assertion tests for whether two objects are not
367371// equal with !=.
368372assert . notEqual = function notEqual ( actual , expected , message ) {
373+ if ( arguments . length < 2 ) {
374+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
375+ }
369376 // eslint-disable-next-line eqeqeq
370377 if ( actual == expected ) {
371378 innerFail ( {
@@ -380,6 +387,9 @@ assert.notEqual = function notEqual(actual, expected, message) {
380387
381388// The equivalence assertion tests a deep equality relation.
382389assert . deepEqual = function deepEqual ( actual , expected , message ) {
390+ if ( arguments . length < 2 ) {
391+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
392+ }
383393 if ( isDeepEqual === undefined ) lazyLoadComparison ( ) ;
384394 if ( ! isDeepEqual ( actual , expected ) ) {
385395 innerFail ( {
@@ -394,6 +404,9 @@ assert.deepEqual = function deepEqual(actual, expected, message) {
394404
395405// The non-equivalence assertion tests for any deep inequality.
396406assert . notDeepEqual = function notDeepEqual ( actual , expected , message ) {
407+ if ( arguments . length < 2 ) {
408+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
409+ }
397410 if ( isDeepEqual === undefined ) lazyLoadComparison ( ) ;
398411 if ( isDeepEqual ( actual , expected ) ) {
399412 innerFail ( {
@@ -408,6 +421,9 @@ assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
408421/* eslint-enable */
409422
410423assert . deepStrictEqual = function deepStrictEqual ( actual , expected , message ) {
424+ if ( arguments . length < 2 ) {
425+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
426+ }
411427 if ( isDeepEqual === undefined ) lazyLoadComparison ( ) ;
412428 if ( ! isDeepStrictEqual ( actual , expected ) ) {
413429 innerFail ( {
@@ -422,6 +438,9 @@ assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
422438
423439assert . notDeepStrictEqual = notDeepStrictEqual ;
424440function notDeepStrictEqual ( actual , expected , message ) {
441+ if ( arguments . length < 2 ) {
442+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
443+ }
425444 if ( isDeepEqual === undefined ) lazyLoadComparison ( ) ;
426445 if ( isDeepStrictEqual ( actual , expected ) ) {
427446 innerFail ( {
@@ -435,6 +454,9 @@ function notDeepStrictEqual(actual, expected, message) {
435454}
436455
437456assert . strictEqual = function strictEqual ( actual , expected , message ) {
457+ if ( arguments . length < 2 ) {
458+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
459+ }
438460 if ( ! Object . is ( actual , expected ) ) {
439461 innerFail ( {
440462 actual,
@@ -447,6 +469,9 @@ assert.strictEqual = function strictEqual(actual, expected, message) {
447469} ;
448470
449471assert . notStrictEqual = function notStrictEqual ( actual , expected , message ) {
472+ if ( arguments . length < 2 ) {
473+ throw new ERR_MISSING_ARGS ( 'actual' , 'expected' ) ;
474+ }
450475 if ( Object . is ( actual , expected ) ) {
451476 innerFail ( {
452477 actual,
0 commit comments