File "assign.test.ts"

Full path: /home/fsibplc/public_html/sommilito-bank2/splide-4.1.3/src/js/utils/object/assign/assign.test.ts
File size: 1.02 B
MIME-type: text/x-java
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

import { assign } from './assign';


describe( 'assign', () => {
  test( 'can assign own enumerable properties of the source object to the target.', () => {
    const object = { a: 1, b: '2' };
    const source = { a: 2, c: true };
    const assigned = assign( object, source );

    expect( assigned ).toStrictEqual( { a: 2, b: '2', c: true } );
  } );

  test( 'can assign properties of multiple sources to the target.', () => {
    const object  = { a: 1, b: '2' };
    const source1 = { a: 2, c: true };
    const source2 = { d: 3, e: '3' };
    const source3 = { e: Infinity };
    const assigned = assign( object, source1, source2, source3 );

    expect( assigned ).toStrictEqual( { a: 2, b: '2', c: true, d: 3, e: Infinity } );
  } );

  test( 'should assign a nested object as a reference.', () => {
    const object = { a: { b: 1 } };
    const source = { a: { b: 2 } };
    const assigned = assign( object, source );

    expect( assigned ).toStrictEqual( { a: { b: 2 } } );
    expect( source.a ).toBe( assigned.a );
  } );
} );