async function testHlsParser(master, media, manifest, media2) {
    fakeNetEngine
        .setResponseText('test:/master', master)
        .setResponseText('test:/audio', media)
        .setResponseText('test:/audio2', media2 || media)
        .setResponseText('test:/video', media)
        .setResponseText('test:/video2', media2 || media)
        .setResponseText('test:/text', media)
        .setResponseText('test:/text2', media2 || media)
        .setResponseText('test:/main.vtt', vttText)
        .setResponseValue('test:/init.mp4', initSegmentData)
        .setResponseValue('test:/init2.mp4', initSegmentData)
        .setResponseValue('test:/init.test', initSegmentData)
        .setResponseValue('test:/main.mp4', segmentData)
        .setResponseValue('test:/main2.mp4', segmentData)
        .setResponseValue('test:/main.test', segmentData)
        .setResponseValue('test:/selfInit.mp4', selfInitializingSegmentData);

    const actual = await parser.start('test:/master', playerInterface);
    await loadAllStreamsFor(actual);
    expect(actual).toEqual(manifest);
    return actual;
  }
@param {string} master
@param {string} media
@param {shaka.extern.Manifest} manifest
@param {string=} media2
@return {!Promise<shaka.extern.Manifest>}