7
7
*/
8
8
/* eslint-env node */
9
9
/* global beforeEach, afterEach */
10
- 'use strict' ;
11
10
12
11
/* wrap navigator.getUserMedia and navigator.mediaDevices.getUserMedia
13
12
* so that any streams acquired are released after each test.
14
13
*/
15
14
beforeEach ( ( ) => {
16
- let streams = [ ] ;
17
- let release = ( ) => {
15
+ const streams = [ ] ;
16
+ const release = ( ) => {
18
17
streams . forEach ( ( stream ) => {
19
- stream . getTracks ( ) . forEach ( ( track ) => {
20
- track . stop ( ) ;
21
- } ) ;
18
+ stream . getTracks ( ) . forEach ( ( track ) => track . stop ( ) ) ;
22
19
} ) ;
23
- streams = [ ] ;
20
+ streams . length = 0 ;
24
21
} ;
25
22
26
-
27
23
if ( navigator . getUserMedia ) {
28
- let origGetUserMedia = navigator . getUserMedia . bind ( navigator ) ;
24
+ const origGetUserMedia = navigator . getUserMedia . bind ( navigator ) ;
29
25
navigator . getUserMedia = ( constraints , cb , eb ) => {
30
26
origGetUserMedia ( constraints , ( stream ) => {
31
27
streams . push ( stream ) ;
@@ -40,13 +36,14 @@ beforeEach(() => {
40
36
} ;
41
37
}
42
38
43
- let origMediaDevicesGetUserMedia =
39
+ const origMediaDevicesGetUserMedia =
44
40
navigator . mediaDevices . getUserMedia . bind ( navigator . mediaDevices ) ;
45
41
navigator . mediaDevices . getUserMedia = ( constraints ) => {
46
- return origMediaDevicesGetUserMedia ( constraints , ( stream ) => {
47
- streams . push ( stream ) ;
48
- return stream ;
49
- } ) ;
42
+ return origMediaDevicesGetUserMedia ( constraints )
43
+ . then ( ( stream ) => {
44
+ streams . push ( stream ) ;
45
+ return stream ;
46
+ } ) ;
50
47
} ;
51
48
navigator . mediaDevices . getUserMedia . restore = ( ) => {
52
49
navigator . mediaDevices . getUserMedia = origMediaDevicesGetUserMedia ;
@@ -60,3 +57,4 @@ afterEach(() => {
60
57
}
61
58
navigator . mediaDevices . getUserMedia . restore ( ) ;
62
59
} ) ;
60
+
0 commit comments