9.7.5 • Published 4 days ago

standardized-audio-context-mock v9.7.5

Weekly downloads
405
License
MIT
Repository
github
Last release
4 days ago

standardized-audio-context-mock

A mocked version of the standardized-audio-context module.

version

This library is meant to test code which is using standardized-audio-context without acutally rendering any audio.

It does depend on Sinon.JS to do the mocking.

Usage

standardized-audio-context-mock is published on npm and can be installed as usual.

npm install standardized-audio-context-mock

Testing

Let's say you have the following code that you want to test:

// File `./play.ts`
import { IAudioBuffer, IAudioContext } from 'standardized-audio-context';

export const play = (audioBuffer: IAudioBuffer, audioContext: IAudioContext) => {
    const audioBufferSourceNode = audioContext.createBufferSource();

    audioBufferSourceNode.buffer = audioBuffer;
    audioBufferSourceNode.connect(audioContext.destination);

    audioBufferSourceNode.start();
};

A test suite for the play() function which will run with Mocha and Chai and uses standardized-audio-context-mock might look like this:

// File `./play.test.js`
import { AudioBuffer, AudioContext, registrar } from 'standardized-audio-context-mock';
import { play } from './play';

describe('play()', () => {
    let audioBufferMock;
    let audioContextMock;

    afterEach(() => registrar.reset());

    beforeEach(() => {
        audioBufferMock = new AudioBuffer({ length: 10, sampleRate: 44100 });
        audioContextMock = new AudioContext();
    });

    it('should create a new AudioBufferSourceNode', () => {
        play(audioBufferMock, audioContextMock);

        expect(registrar.getAudioNodes(audioContextMock, 'AudioBufferSourceNode')).to.have.a.lengthOf(1);
    });

    it('should set the buffer property of the AudioBufferSourceNode', () => {
        play(audioBufferMock, audioContextMock);

        const [audioBufferSourceNodeMock] = registrar.getAudioNodes(audioContextMock, 'AudioBufferSourceNode');

        expect(audioBufferSourceNodeMock.buffer).to.equal(audioBufferMock);
    });

    it('should connect the AudioBufferSourceNode with to destination', () => {
        play(audioBufferMock, audioContextMock);

        const [audioBufferSourceNodeMock] = registrar.getAudioNodes(audioContextMock, 'AudioBufferSourceNode');

        expect(audioBufferSourceNodeMock.connect).to.have.been.calledOnce;
        expect(audioBufferSourceNodeMock.connect).to.have.been.calledWithExactly(audioContextMock.destination);
    });

    it('should start the AudioBufferSourceNode', () => {
        play(audioBufferMock, audioContextMock);

        const [audioBufferSourceNodeMock] = registrar.getAudioNodes(audioContextMock, 'AudioBufferSourceNode');

        expect(audioBufferSourceNodeMock.start).to.have.been.calledOnce;
    });
});
9.7.5

4 days ago

9.7.4

24 days ago

9.7.3

1 month ago

9.7.2

2 months ago

9.7.1

2 months ago

9.7.0

2 months ago

9.6.34

3 months ago

9.6.33

3 months ago

9.6.32

5 months ago

9.6.30

6 months ago

9.6.31

5 months ago

9.6.29

7 months ago

9.6.19

11 months ago

9.6.27

10 months ago

9.6.28

9 months ago

9.6.25

10 months ago

9.6.26

10 months ago

9.6.20

11 months ago

9.6.23

11 months ago

9.6.24

11 months ago

9.6.21

11 months ago

9.6.22

11 months ago

9.6.9

1 year ago

9.6.16

1 year ago

9.6.17

1 year ago

9.6.14

1 year ago

9.6.15

1 year ago

9.6.18

1 year ago

9.6.12

1 year ago

9.6.13

1 year ago

9.6.10

1 year ago

9.6.11

1 year ago

9.6.8

1 year ago

9.6.7

1 year ago

9.6.6

1 year ago

9.6.5

2 years ago

9.6.4

2 years ago

9.6.3

2 years ago

9.6.2

2 years ago

9.6.1

2 years ago

9.5.5

2 years ago

9.5.4

2 years ago

9.5.6

2 years ago

9.6.0

2 years ago

9.5.3

2 years ago

9.5.2

2 years ago

9.5.1

2 years ago

9.3.0

2 years ago

9.4.1

2 years ago

9.4.0

2 years ago

9.5.0

2 years ago

9.1.2

2 years ago

9.0.0

2 years ago

9.1.1

2 years ago

9.1.0

2 years ago

9.2.0

2 years ago

8.5.29

2 years ago

8.5.28

2 years ago

8.5.27

2 years ago

8.5.26

2 years ago

8.5.25

2 years ago

8.5.24

2 years ago

8.5.23

3 years ago

8.5.22

3 years ago

8.5.21

3 years ago

8.5.20

3 years ago

8.5.19

3 years ago

8.5.18

3 years ago

8.5.17

3 years ago

8.5.16

3 years ago

8.5.15

3 years ago

8.5.14

3 years ago

8.5.13

3 years ago

8.5.11

3 years ago

8.5.10

3 years ago

8.5.12

3 years ago

8.5.6

3 years ago

8.5.5

3 years ago

8.5.8

3 years ago

8.5.7

3 years ago

8.5.9

3 years ago

8.5.4

3 years ago

8.5.3

3 years ago

8.5.2

3 years ago

8.5.1

3 years ago

8.5.0

3 years ago

8.4.18

3 years ago

8.4.17

3 years ago

8.4.16

3 years ago

8.4.15

3 years ago

8.4.14

3 years ago

8.4.13

3 years ago

8.4.12

3 years ago

8.4.11

3 years ago

8.4.10

3 years ago

8.4.9

4 years ago

8.4.8

4 years ago

8.4.7

4 years ago

8.4.6

4 years ago

8.4.5

4 years ago

8.4.4

4 years ago

8.4.3

4 years ago

8.4.2

4 years ago

8.4.1

4 years ago

8.4.0

4 years ago

8.3.20

4 years ago

8.3.19

4 years ago

8.3.18

4 years ago

8.3.17

4 years ago

8.3.16

4 years ago

8.3.15

4 years ago

8.3.14

4 years ago

8.3.12

4 years ago

8.3.13

4 years ago

8.3.11

4 years ago

8.3.10

4 years ago

8.3.9

4 years ago

8.3.8

4 years ago

8.3.7

4 years ago

8.3.6

4 years ago

8.3.5

4 years ago

8.3.4

4 years ago

8.3.3

4 years ago

8.3.2

4 years ago

8.3.1

4 years ago

8.3.0

4 years ago

8.2.0

4 years ago

8.1.1

4 years ago

8.1.0

4 years ago

8.0.7

4 years ago

8.0.6

4 years ago

8.0.5

4 years ago

8.0.4

4 years ago

8.0.3

4 years ago

8.0.2

4 years ago

8.0.1

4 years ago

8.0.0

4 years ago

7.1.28

4 years ago

7.1.27

4 years ago

7.1.26

4 years ago

7.1.25

4 years ago

7.1.24

4 years ago

7.1.23

4 years ago

7.1.22

4 years ago

7.1.21

4 years ago

7.1.20

4 years ago

7.1.19

4 years ago

7.1.18

4 years ago

7.1.17

4 years ago

7.1.16

4 years ago

7.1.15

4 years ago

7.1.14

4 years ago

7.1.13

4 years ago

7.1.12

4 years ago

7.1.11

5 years ago

7.1.10

5 years ago

7.1.9

5 years ago

7.1.8

5 years ago

7.1.7

5 years ago

7.1.6

5 years ago

7.1.5

5 years ago

7.1.4

5 years ago

7.1.3

5 years ago

7.1.2

5 years ago

7.1.1

5 years ago

7.1.0

5 years ago

7.0.11

5 years ago

7.0.10

5 years ago

7.0.9

5 years ago

7.0.8

5 years ago

7.0.7

5 years ago

7.0.6

5 years ago

7.0.5

5 years ago

7.0.4

5 years ago

7.0.3

5 years ago

7.0.2

5 years ago

7.0.1

5 years ago

7.0.0

5 years ago

6.2.29

5 years ago

6.2.28

5 years ago

6.2.27

5 years ago

6.2.26

5 years ago

6.2.25

5 years ago

6.2.24

5 years ago

6.2.23

5 years ago

6.2.22

5 years ago

6.2.21

5 years ago

6.2.20

5 years ago

6.2.19

5 years ago

6.2.18

5 years ago

6.2.17

5 years ago

6.2.16

5 years ago

6.2.15

5 years ago

6.2.14

5 years ago

6.2.13

5 years ago

6.2.12

5 years ago

6.2.11

5 years ago

6.2.10

5 years ago

6.2.9

5 years ago

6.2.8

5 years ago

6.2.7

5 years ago

6.2.6

5 years ago

6.2.5

5 years ago

6.2.4

5 years ago

6.2.3

5 years ago

6.2.2

5 years ago

6.2.1

5 years ago

6.2.0

5 years ago

6.1.5

5 years ago

6.1.4

5 years ago

6.1.3

5 years ago

6.1.2

5 years ago

6.1.1

5 years ago

6.1.0

5 years ago

6.0.14

5 years ago

6.0.13

5 years ago

6.0.12

5 years ago

6.0.11

5 years ago

6.0.10

5 years ago

6.0.9

5 years ago

6.0.8

5 years ago

6.0.7

5 years ago

6.0.6

5 years ago

6.0.5

6 years ago

6.0.4

6 years ago

6.0.3

6 years ago

6.0.2

6 years ago

6.0.1

6 years ago

6.0.0

6 years ago

5.0.0

6 years ago

4.2.1

6 years ago

4.2.0

6 years ago

4.1.97

6 years ago

4.1.96

6 years ago

4.1.95

6 years ago

4.1.94

6 years ago

4.1.93

6 years ago

4.1.92

6 years ago

4.1.91

6 years ago

4.1.90

6 years ago

4.1.89

6 years ago

4.1.88

6 years ago

4.1.87

6 years ago

4.1.86

6 years ago

4.1.85

6 years ago

4.1.84

6 years ago

4.1.83

6 years ago

4.1.82

6 years ago

4.1.81

6 years ago

4.1.80

6 years ago

4.1.79

6 years ago

4.1.78

6 years ago

4.1.77

6 years ago

4.1.76

6 years ago

4.1.75

6 years ago

4.1.74

6 years ago

4.1.73

6 years ago

4.1.72

6 years ago

4.1.71

6 years ago

4.1.70

6 years ago

4.1.69

6 years ago

4.1.68

6 years ago

4.1.67

6 years ago

4.1.66

6 years ago

4.1.65

6 years ago

4.1.64

6 years ago

4.1.63

6 years ago

4.1.62

6 years ago

4.1.61

6 years ago

4.1.60

6 years ago

4.1.59

6 years ago

4.1.58

6 years ago

4.1.57

6 years ago

4.1.56

6 years ago

4.1.55

6 years ago

4.1.54

6 years ago

4.1.53

6 years ago

4.1.52

6 years ago

4.1.51

6 years ago

4.1.50

6 years ago

4.1.49

6 years ago

4.1.48

6 years ago

4.1.47

6 years ago

4.1.46

6 years ago

4.1.45

6 years ago

4.1.44

6 years ago

4.1.43

6 years ago

4.1.42

6 years ago

4.1.41

6 years ago

4.1.40

6 years ago

4.1.39

6 years ago

4.1.38

6 years ago

4.1.37

6 years ago

4.1.36

6 years ago

4.1.35

6 years ago

4.1.34

6 years ago

4.1.33

6 years ago

4.1.32

6 years ago

4.1.31

6 years ago

4.1.30

6 years ago

4.1.29

6 years ago

4.1.28

6 years ago

4.1.27

6 years ago

4.1.26

6 years ago

4.1.25

6 years ago

4.1.24

6 years ago

4.1.23

6 years ago

4.1.22

6 years ago

4.1.21

6 years ago

4.1.20

6 years ago

4.1.19

6 years ago

4.1.18

6 years ago

4.1.17

6 years ago

4.1.16

6 years ago

4.1.15

6 years ago

4.1.14

6 years ago

4.1.13

6 years ago

4.1.12

6 years ago

4.1.11

6 years ago

4.1.10

6 years ago

4.1.9

6 years ago

4.1.8

6 years ago

4.1.7

6 years ago

4.1.6

6 years ago

4.1.5

6 years ago

4.1.4

6 years ago

4.1.3

6 years ago

4.1.2

6 years ago

4.1.1

6 years ago

4.1.0

6 years ago

4.0.15

6 years ago

4.0.14

6 years ago

4.0.13

6 years ago

4.0.12

6 years ago

4.0.11

6 years ago

4.0.10

6 years ago

4.0.9

6 years ago

4.0.8

6 years ago

4.0.7

6 years ago

4.0.6

6 years ago

4.0.5

6 years ago

4.0.4

6 years ago

4.0.3

6 years ago

4.0.2

6 years ago

4.0.1

6 years ago

4.0.0

6 years ago

3.1.23

6 years ago

3.1.22

6 years ago

3.1.21

6 years ago

3.1.20

6 years ago

3.1.19

6 years ago

3.1.18

6 years ago

3.1.17

6 years ago

3.1.16

6 years ago

3.1.15

6 years ago

3.1.14

6 years ago

3.1.13

6 years ago

3.1.12

6 years ago

3.1.11

6 years ago

3.1.10

6 years ago

3.1.9

6 years ago

3.1.8

6 years ago

3.1.7

6 years ago

3.1.6

6 years ago

3.1.5

6 years ago

3.1.4

6 years ago

3.1.3

7 years ago

3.1.2

7 years ago

3.1.1

7 years ago

3.1.0

7 years ago

3.0.2

7 years ago

2.0.24

7 years ago

2.0.23

7 years ago

2.0.22

7 years ago

2.0.21

7 years ago

2.0.20

7 years ago

2.0.19

7 years ago

2.0.18

7 years ago

2.0.17

7 years ago

2.0.16

7 years ago

2.0.15

7 years ago

2.0.14

7 years ago

2.0.13

7 years ago

2.0.12

7 years ago

2.0.11

7 years ago

2.0.10

7 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.3.3

7 years ago

0.3.2

8 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.4

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.0

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.0

8 years ago