'use strict'; require('../common'); const assert = require('assert'); const { test } = require('node:test'); test('No args', () => { assert.throws( () => { assert.fail(); }, { code: 'ERR_ASSERTION', name: 'AssertionError', message: 'Failed', operator: 'fail', actual: undefined, expected: undefined, generatedMessage: true, stack: /Failed/ } ); }); test('One arg = message', () => { assert.throws(() => { assert.fail('custom message'); }, { code: 'ERR_ASSERTION', name: 'AssertionError', message: 'custom message', operator: 'fail', actual: undefined, expected: undefined, generatedMessage: false }); }); test('One arg = Error', () => { assert.throws(() => { assert.fail(new TypeError('custom message')); }, { name: 'TypeError', message: 'custom message' }); }); test('Object prototype get', () => { Object.prototype.get = () => { throw new Error('failed'); }; assert.throws(() => assert.fail(''), { code: 'ERR_ASSERTION' }); delete Object.prototype.get; });