@@ -3437,6 +3437,51 @@ describe('PeerConnectionAnalyzer', () => {
34373437 expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
34383438 } )
34393439
3440+ test . each ( [
3441+ [ 'packet count repeated two times' , 'audio' ] ,
3442+ [ 'packet count repeated two times' , 'video' ] ,
3443+ ] ) ( '%s, %s' , ( name , kind ) => {
3444+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3445+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3446+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3447+
3448+ expect ( peerConnectionAnalyzer . _packets [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3449+ expect ( peerConnectionAnalyzer . _packetsLost [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3450+ expect ( peerConnectionAnalyzer . _packetsLostRatio [ kind ] . _relativeValues ) . toEqual ( [ 1.5 , 1.5 , 1.5 ] )
3451+ expect ( peerConnectionAnalyzer . _timestamps [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 ] )
3452+ expect ( peerConnectionAnalyzer . _timestampsForLogs [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 ] )
3453+ expect ( peerConnectionAnalyzer . _packetsPerSecond [ kind ] . _relativeValues ) . toEqual ( [ NaN , NaN , NaN ] )
3454+ expect ( peerConnectionAnalyzer . _roundTripTime [ kind ] . _relativeValues ) . toEqual ( [ 0.2 , 0.2 , 0.2 ] )
3455+
3456+ expect ( peerConnectionAnalyzer . _stagedPackets [ kind ] ) . toEqual ( [ ] )
3457+ expect ( peerConnectionAnalyzer . _stagedPacketsLost [ kind ] ) . toEqual ( [ ] )
3458+ expect ( peerConnectionAnalyzer . _stagedTimestamps [ kind ] ) . toEqual ( [ ] )
3459+ expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
3460+ } )
3461+
3462+ test . each ( [
3463+ [ 'packet count repeated two times then changed' , 'audio' ] ,
3464+ [ 'packet count repeated two times then changed' , 'video' ] ,
3465+ ] ) ( '%s, %s' , ( name , kind ) => {
3466+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3467+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3468+ peerConnectionAnalyzer . _addStats ( kind , 150 , 40 , 10000 , 0.2 )
3469+ peerConnectionAnalyzer . _addStats ( kind , 300 , 70 , 13750 , 0.3 )
3470+
3471+ expect ( peerConnectionAnalyzer . _packets [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 150 ] )
3472+ expect ( peerConnectionAnalyzer . _packetsLost [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 30 ] )
3473+ expect ( peerConnectionAnalyzer . _packetsLostRatio [ kind ] . _relativeValues ) . toEqual ( [ 1.5 , 1.5 , 1.5 , 0.2 ] )
3474+ expect ( peerConnectionAnalyzer . _timestamps [ kind ] . _relativeValues ) . toEqual ( [ 0 , 3750 ] )
3475+ expect ( peerConnectionAnalyzer . _timestampsForLogs [ kind ] . _relativeValues ) . toEqual ( [ 0 , 0 , 0 , 3750 ] )
3476+ expect ( peerConnectionAnalyzer . _packetsPerSecond [ kind ] . _relativeValues ) . toEqual ( [ NaN , NaN , NaN , 40 ] )
3477+ expect ( peerConnectionAnalyzer . _roundTripTime [ kind ] . _relativeValues ) . toEqual ( [ 0.2 , 0.2 , 0.2 , 0.3 ] )
3478+
3479+ expect ( peerConnectionAnalyzer . _stagedPackets [ kind ] ) . toEqual ( [ ] )
3480+ expect ( peerConnectionAnalyzer . _stagedPacketsLost [ kind ] ) . toEqual ( [ ] )
3481+ expect ( peerConnectionAnalyzer . _stagedTimestamps [ kind ] ) . toEqual ( [ ] )
3482+ expect ( peerConnectionAnalyzer . _stagedRoundTripTime [ kind ] ) . toEqual ( [ ] )
3483+ } )
3484+
34403485 describe ( 'distribute staged stats' , ( ) => {
34413486
34423487 const expectRelativeStagedStats = ( kind , index , expectedPackets , expectedPacketsLost , expectedTimestamps , expectedRoundTripTime ) => {
@@ -3502,6 +3547,20 @@ describe('PeerConnectionAnalyzer', () => {
35023547 expectRelativeStagedStats ( kind , 1 , 150 , 40 , 14000 , 0.2 )
35033548 } )
35043549
3550+ test . each ( [
3551+ [ 'two sets of fully repeated values' , 'audio' ] ,
3552+ [ 'two sets of fully repeated values' , 'video' ] ,
3553+ ] ) ( '%s, %s' , ( name , kind ) => {
3554+ peerConnectionAnalyzer . _commitStats ( kind , 150 , 40 , 10000 , 0.2 )
3555+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3556+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3557+
3558+ peerConnectionAnalyzer . _distributeStagedStats ( kind )
3559+
3560+ expectRelativeStagedStats ( kind , 0 , 150 , 40 , 10000 , 0.2 )
3561+ expectRelativeStagedStats ( kind , 1 , 150 , 40 , 10000 , 0.2 )
3562+ } )
3563+
35053564 test . each ( [
35063565 [ 'several sets of different values with repeated timestamps' , 'audio' ] ,
35073566 [ 'several sets of different values with repeated timestamps' , 'video' ] ,
@@ -3573,6 +3632,24 @@ describe('PeerConnectionAnalyzer', () => {
35733632 expectRelativeStagedStats ( kind , 2 , 150 , 40 , 17500 , 0.2 )
35743633 expectRelativeStagedStats ( kind , 3 , 150 , 40 , 20000 , 0.2 )
35753634 } )
3635+
3636+ test . each ( [
3637+ [ 'several sets of fully repeated values' , 'audio' ] ,
3638+ [ 'several sets of fully repeated values' , 'video' ] ,
3639+ ] ) ( '%s, %s' , ( name , kind ) => {
3640+ peerConnectionAnalyzer . _commitStats ( kind , 150 , 40 , 10000 , 0.2 )
3641+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3642+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3643+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3644+ peerConnectionAnalyzer . _stageStats ( kind , 150 , 40 , 10000 , 0.2 )
3645+
3646+ peerConnectionAnalyzer . _distributeStagedStats ( kind )
3647+
3648+ expectRelativeStagedStats ( kind , 0 , 150 , 40 , 10000 , 0.2 )
3649+ expectRelativeStagedStats ( kind , 1 , 150 , 40 , 10000 , 0.2 )
3650+ expectRelativeStagedStats ( kind , 2 , 150 , 40 , 10000 , 0.2 )
3651+ expectRelativeStagedStats ( kind , 3 , 150 , 40 , 10000 , 0.2 )
3652+ } )
35763653 } )
35773654 } )
35783655} )
0 commit comments