define(["require", "exports", "./getPropsWithDefaults"], function (require, exports, getPropsWithDefaults_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var defaultProps = { num: 4, bool: true, str: 'default', fn: function () { console.log('default'); }, nul: 'not null', }; describe('getPropsWithDefaults', function () { it("doesn't override non-undefined specified values", function () { var propsWithoutDefaults = { num: 0, bool: false, str: '', fn: function () { return undefined; }, nul: null, }; var props = (0, getPropsWithDefaults_1.getPropsWithDefaults)(defaultProps, propsWithoutDefaults); expect(props.num).toEqual(propsWithoutDefaults.num); expect(props.bool).toEqual(propsWithoutDefaults.bool); expect(props.str).toEqual(propsWithoutDefaults.str); expect(props.fn).toEqual(propsWithoutDefaults.fn); expect(props.nul).toEqual(propsWithoutDefaults.nul); }); it('overrides specified undefined values', function () { var propsWithoutDefaults = { num: undefined, bool: undefined, str: undefined, fn: undefined, nul: undefined, }; var props = (0, getPropsWithDefaults_1.getPropsWithDefaults)(defaultProps, propsWithoutDefaults); expect(props.num).toEqual(defaultProps.num); expect(props.bool).toEqual(defaultProps.bool); expect(props.str).toEqual(defaultProps.str); expect(props.fn).toEqual(defaultProps.fn); expect(props.nul).toEqual(defaultProps.nul); }); it('overrides unspecified values', function () { var propsWithoutDefaults = {}; var props = (0, getPropsWithDefaults_1.getPropsWithDefaults)(defaultProps, propsWithoutDefaults); expect(props.num).toEqual(defaultProps.num); expect(props.bool).toEqual(defaultProps.bool); expect(props.str).toEqual(defaultProps.str); expect(props.fn).toEqual(defaultProps.fn); expect(props.nul).toEqual(defaultProps.nul); }); }); }); //# sourceMappingURL=getPropsWithDefaults.test.js.map