describe('Chart.defaults', function() { describe('.set', function() { it('Should set defaults directly to root when scope is not provided', function() { expect(Chart.defaults.test).toBeUndefined(); Chart.defaults.set({test: true}); expect(Chart.defaults.test).toEqual(true); delete Chart.defaults.test; }); it('Should create scope when it does not exist', function() { expect(Chart.defaults.test).toBeUndefined(); Chart.defaults.set('test', {value: true}); expect(Chart.defaults.test.value).toEqual(true); delete Chart.defaults.test; }); }); describe('.route', function() { it('Should read the source, but not change it', function() { expect(Chart.defaults.testscope).toBeUndefined(); Chart.defaults.set('testscope', {test: true}); Chart.defaults.route('testscope', 'test2', 'testscope', 'test'); expect(Chart.defaults.testscope.test).toEqual(true); expect(Chart.defaults.testscope.test2).toEqual(true); Chart.defaults.set('testscope', {test2: false}); expect(Chart.defaults.testscope.test).toEqual(true); expect(Chart.defaults.testscope.test2).toEqual(false); Chart.defaults.set('testscope', {test2: undefined}); expect(Chart.defaults.testscope.test2).toEqual(true); delete Chart.defaults.testscope; }); }); });