Blame view

node_modules/videojs-contrib-media-sources/test/add-text-track-data.test.js 2.09 KB
2a09d1a4   liuqimichale   添加宜春 天水 宣化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  import Qunit from 'qunit';
  import { addTextTrackData } from '../src/add-text-track-data';
  
  const { equal, module, test } = Qunit;
  
  class MockTextTrack {
    constructor() {
      this.cues = [];
    }
    addCue(cue) {
      this.cues.push(cue);
    }
  }
  
  module('Text Track Data', {
    beforeEach() {
      this.sourceHandler = {
        inbandTextTracks_: {
          CC1: new MockTextTrack(),
          CC2: new MockTextTrack(),
          CC3: new MockTextTrack(),
          CC4: new MockTextTrack()
        },
        metadataTrack_: new MockTextTrack(),
        mediaSource_: {
          duration: NaN
        },
        timestampOffset: 0
      };
    }
  });
  
  test('does nothing if no cues are specified', function() {
    addTextTrackData(this.sourceHandler, [], []);
    equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 0, 'added no 608 cues');
    equal(this.sourceHandler.metadataTrack_.cues.length, 0, 'added no metadata cues');
  });
  
  test('creates cues for 608 captions with "stream" property in ccX', function() {
    addTextTrackData(this.sourceHandler, [{
      startTime: 0,
      endTime: 1,
      text: 'CC1 text',
      stream: 'CC1'
    }, {
      startTime: 0,
      endTime: 1,
      text: 'CC2 text',
      stream: 'CC2'
    }, {
      startTime: 0,
      endTime: 1,
      text: 'CC3 text',
      stream: 'CC3'
    }, {
      startTime: 0,
      endTime: 1,
      text: 'CC4 text',
      stream: 'CC4'
    }], []);
    equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 1, 'added one 608 cue to CC1');
    equal(this.sourceHandler.inbandTextTracks_.CC2.cues.length, 1, 'added one 608 cue to CC2');
    equal(this.sourceHandler.inbandTextTracks_.CC3.cues.length, 1, 'added one 608 cue to CC3');
    equal(this.sourceHandler.inbandTextTracks_.CC4.cues.length, 1, 'added one 608 cue to CC4');
    equal(this.sourceHandler.metadataTrack_.cues.length, 0, 'added no metadata cues');
  });
  
  test('creates cues for timed metadata', function() {
    addTextTrackData(this.sourceHandler, [], [{
      cueTime: 1,
      frames: [{}]
    }]);
    equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 0, 'added no 608 cues');
    equal(this.sourceHandler.metadataTrack_.cues.length, 1, 'added one metadata cues');
  });