File "omit.test.ts"
Full path: /home/fsibplc/public_html/sommilito-bank2/splide-4.1.3/src/js/utils/object/omit/omit.test.ts
File
size: 1.49 B
MIME-type: text/x-java
Charset: utf-8
Download Open Edit Advanced Editor Back
import { omit } from './omit';
describe( 'omit', () => {
function hasOwn( object: object, key: string ): boolean {
return Object.prototype.hasOwnProperty.call( object, key );
}
test( 'can delete specified key.', () => {
const object = { a: 1, b: 2, c: 3 };
expect( hasOwn( object, 'a' ) ).toBe( true );
expect( hasOwn( object, 'b' ) ).toBe( true );
omit( object, 'a' );
expect( hasOwn( object, 'a' ) ).toBe( false );
omit( object, 'b' );
expect( hasOwn( object, 'b' ) ).toBe( false );
} );
test( 'can delete specified keys.', () => {
const object = { a: 1, b: 2, c: 3 };
omit( object, [ 'a', 'b' ] );
expect( hasOwn( object, 'a' ) ).toBe( false );
expect( hasOwn( object, 'b' ) ).toBe( false );
} );
test( 'can delete all own enumerable keys.', () => {
const object = { a: 1, b: 2, c: 3 };
omit( object );
expect( hasOwn( object, 'a' ) ).toBe( false );
expect( hasOwn( object, 'b' ) ).toBe( false );
expect( hasOwn( object, 'c' ) ).toBe( false );
expect( Object.keys( object ).length ).toBe( 0 );
} );
test( 'should not delete inherited keys.', () => {
const parent = { a: 1, b: 2, c: 3 };
const object = Object.create( parent );
omit( object );
expect( hasOwn( parent, 'a' ) ).toBe( true );
expect( hasOwn( parent, 'b' ) ).toBe( true );
expect( hasOwn( parent, 'c' ) ).toBe( true );
expect( object.a ).toBe( 1 );
expect( object.b ).toBe( 2 );
expect( object.c ).toBe( 3 );
} );
} );