Files
edlp_d8/libraries/wavesurfer/spec/wavesurfer.spec.js
T

114 lines
3.0 KiB
JavaScript
Executable File

import WaveSurfer from '../src/wavesurfer.js';
/** @test {WaveSurfer} */
describe('WaveSurfer/playback:', function () {
var wavesurfer;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
/*
* Handle creating wavesurfer ui requirements
*/
function __createWaveform() {
var waveformDiv = document.createElement('div');
waveformDiv.id = 'waveform';
document.getElementsByTagName('body')[0].appendChild(waveformDiv);
return WaveSurfer.create({
container: '#waveform',
waveColor: 'violet',
progressColor: 'purple'
});
}
beforeAll(function (done) {
wavesurfer = __createWaveform();
wavesurfer.load('/base/spec/support/demo.wav');
wavesurfer.on('ready', function () {
done();
});
});
beforeEach(function () {
wavesurfer.seekTo(0);
});
afterAll(function () {
wavesurfer.destroy();
});
/**
* @test {WaveSurfer#play}
* @test {WaveSurfer#isPlaying}
*/
it('should play', function () {
wavesurfer.play();
expect(wavesurfer.isPlaying()).toBeTrue();
});
/**
* @test {WaveSurfer#play}
* @test {WaveSurfer#isPlaying}
* @test {WaveSurfer#pause}
*/
it('should pause', function () {
wavesurfer.play();
expect(wavesurfer.isPlaying()).toBeTrue();
wavesurfer.pause();
expect(wavesurfer.isPlaying()).toBeFalse();
});
/**
* @test {WaveSurfer#playPause}
* @test {WaveSurfer#isPlaying}
*/
it('should play or pause', function () {
wavesurfer.playPause();
expect(wavesurfer.isPlaying()).toBeTrue();
wavesurfer.playPause();
expect(wavesurfer.isPlaying()).toBeFalse();
});
/** @test {WaveSurfer#getDuration} */
it('should get duration', function () {
var duration = parseInt(wavesurfer.getDuration(), 10);
expect(duration).toBeNumber();
});
/** @test {WaveSurfer#toggleMute} */
it('should toggle mute', function () {
wavesurfer.toggleMute();
expect(wavesurfer.isMuted).toBeTrue();
wavesurfer.toggleMute();
expect(wavesurfer.isMuted).toBeFalse();
});
/** @test {WaveSurfer#setMute} */
it('should set mute', function () {
wavesurfer.setMute(true);
expect(wavesurfer.isMuted).toBeTrue();
wavesurfer.setMute(false);
expect(wavesurfer.isMuted).toBeFalse();
});
/** @test {WaveSurfer#zoom} */
it('should set zoom parameters', function () {
wavesurfer.zoom(20);
expect(wavesurfer.params.minPxPerSec).toEqual(20);
expect(wavesurfer.params.scrollParent).toBe(true);
});
/** @test {WaveSurfer#zoom} */
it('should set unzoom parameters', function () {
wavesurfer.zoom(false);
expect(wavesurfer.params.minPxPerSec).toEqual(wavesurfer.defaultParams.minPxPerSec);
expect(wavesurfer.params.scrollParent).toBe(false);
});
});