UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

71 lines (56 loc) 2.24 kB
import * as utils from "../configurationUtils"; const { parseLanguageTracks } = utils; describe("utilities", () => { describe("parseLanguageTracks", () => { const textTrack = { index: 0, id: "text-0" }; const audioTrack = { index: 0, id: "audio-0" }; it("should handle undefined tracks", () => { const callParseLanguage = () => { parseLanguageTracks({}); }; expect(callParseLanguage).not.toThrow(); }); it("should handle stringified json and object tracks", () => { const currentResultWithObj = parseLanguageTracks({ textTracks: [textTrack], audioTracks: [audioTrack], }); const currentResultWithString = parseLanguageTracks({ textTracks: JSON.stringify([textTrack]), audioTracks: JSON.stringify([audioTrack]), }); expect(currentResultWithObj.textTracks.length).toBe(1); expect(currentResultWithObj.audioTracks.length).toBe(1); expect(currentResultWithString.textTracks.length).toBe(1); expect(currentResultWithString.audioTracks.length).toBe(1); }); it("should add textType property to tracks", () => { const currentResult = parseLanguageTracks({ textTracks: [textTrack], audioTracks: [audioTrack], }); expect(currentResult.textTracks[0]).toHaveProperty("trackType"); expect(currentResult.audioTracks[0]).toHaveProperty("trackType"); }); it("should correctly set audio and text trackId a", () => { const currentResult = parseLanguageTracks({ textTracks: [textTrack], audioTracks: [audioTrack], selectedAudioTrack: 0, selectedTextTrack: 0, }); expect(currentResult.audioTrackId).toBe(audioTrack.id); expect(currentResult.textTrackId).toBe(textTrack.id); }); it("should return audio and subtitle track id as undefined if -1 values are passed", () => { const currentResult = parseLanguageTracks({ textTracks: [textTrack], audioTracks: [audioTrack], selectedAudioTrack: -1, selectedTextTrack: -1, }); expect(currentResult.audioTrackId).not.toBeDefined(); expect(currentResult.textTrackId).not.toBeDefined(); }); }); });