Example #1
0
    it('stops current animation and begins new animation when specified', () => {        
        const numericycleInst = numericycle(element);
        numericycleInst.cycle({
            initialValue: 1,
            finalValue: 10,
            duration: defaultDuration,
            easing: 'linear'
        });

        __setEasingReturnValue(5);
        jest.advanceTimersByTime(mspf*20);
       
        const results = global.requestAnimationFrame.mock.results;
        const requestId = results[results.length-1].value;

        numericycleInst.cycle({
            initialValue: 30,
            finalValue: 40,
            duration: defaultDuration,
            easing: 'linear'
        });

        expect(global.cancelAnimationFrame).toHaveBeenCalledWith(requestId);

        expect(element.textContent).toBe('30');

        __setEasingReturnValue(40);
        jest.advanceTimersByTime(defaultDuration);

        expect(element.textContent).toBe('40');
    });
Example #2
0
 timeline.forEach(entry => {
     __setEasingReturnValue(entry.easingValue);
     iteration += Math.ceil(entry.time/mspf);
     if(entry.time > 0) {
         jest.advanceTimersByTime(entry.time);
         expect(config.easingFunc).toHaveBeenCalledWith(iteration, config.initialValue, config.changeInValue, config.totalIterations);
     }
     expect(element.textContent).toBe(entry.textContent);                
 });
Example #3
0
     it('when the duration is very short', () => {
         const numericycleInst = numericycle(element);
         numericycleInst.cycle({
             initialValue: 0,
             finalValue: 10,
             duration: 1
         });
 
         __setEasingReturnValue(10);
         jest.advanceTimersByTime(mspf);
 
         expect(element.textContent).toBe('10');
     });
Example #4
0
     it('when the initial value is greater than the final value', () => {
         const numericycleInst = numericycle(element);
         numericycleInst.cycle({
             initialValue: 10,
             finalValue: 1,
             duration: defaultDuration
         });
 
         __setEasingReturnValue(1);
         jest.advanceTimersByTime(defaultDuration);
 
         expect(element.textContent).toBe('1');
     });
Example #5
0
     it('using a {0,0} format if invalid format is specified', function() {
         const numericycleInst = numericycle(element);
         numericycleInst.cycle({
             initialValue: 900,
             finalValue: 1500,
             format: 'invalid',
             duration: defaultDuration
         });
 
         __setEasingReturnValue(1500);
         jest.advanceTimersByTime(defaultDuration);
 
         expect(element.textContent).toBe('1,500');    
     });