You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

JitsiMeetJS.spec.ts 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import JitsiMeetJS from './JitsiMeetJS';
  2. import { VideoType } from './service/RTC/VideoType';
  3. import { MediaType } from './service/RTC/MediaType';
  4. import { JitsiTrackErrors } from './JitsiTrackErrors';
  5. describe('JitsiMeetJS', () => {
  6. describe('createLocalTracksFromMediaStreams', () => {
  7. it('creates a local track from a media stream', () => {
  8. const canvas = document.createElement('canvas');
  9. const canvasStream = canvas.captureStream(5);
  10. const trackInfo = {
  11. stream: canvasStream,
  12. sourceType: 'canvas',
  13. mediaType: MediaType.VIDEO,
  14. videoType: VideoType.DESKTOP
  15. };
  16. const newTracks = JitsiMeetJS.createLocalTracksFromMediaStreams([ trackInfo ]);
  17. expect(newTracks).toBeDefined();
  18. expect(newTracks.length).toBe(1);
  19. });
  20. it('throws an error if track is not the correct media type', () => {
  21. const canvas = document.createElement('canvas');
  22. const canvasStream = canvas.captureStream(5);
  23. const trackInfo = {
  24. stream: canvasStream,
  25. sourceType: 'canvas',
  26. mediaType: MediaType.AUDIO,
  27. videoType: VideoType.DESKTOP
  28. };
  29. expect(() => JitsiMeetJS.createLocalTracksFromMediaStreams([ trackInfo ]))
  30. .toThrowError(JitsiTrackErrors.TRACK_NO_STREAM_TRACKS_FOUND);
  31. });
  32. });
  33. });