Completed
Push — develop ( f101a1...f94113 )
by Chris
12s
created

M3u8Test::testRead()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 24
rs 8.9713
c 0
b 0
f 0
cc 1
eloc 19
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the PhpM3u8 package.
5
 *
6
 * (c) Chrisyue <http://chrisyue.com/>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Chrisyue\PhpM3u8\tests;
13
14
use Chrisyue\PhpM3u8\M3u8;
15
use PHPUnit\Framework\TestCase;
16
17
class M3u8Test extends TestCase
18
{
19
    public function testRead()
20
    {
21
        $content = DummyM3u8Factory::createM3u8Content(2);
22
        $m3u8 = new M3u8();
23
        $m3u8->read($content);
24
25
        $this->assertEquals(2, $m3u8->getVersion());
26
        $this->assertEquals(12, $m3u8->getTargetDuration());
27
        $this->assertEquals(33, $m3u8->getMediaSequence());
28
        $this->assertEquals(3, $m3u8->getDiscontinuitySequence());
29
30
        $segment = $m3u8->getSegments()->offsetGet(0);
31
        $this->assertEquals(12, $segment->getExtinfTag()->getDuration());
32
        $this->assertEquals('hello world', $segment->getExtinfTag()->getTitle());
33
        $this->assertEquals('stream33.ts', (string) $segment->getUri());
34
        $this->assertEquals(10000, $segment->getByteRangeTag()->getLength());
35
        $this->assertEquals(100, $segment->getByteRangeTag()->getOffset());
36
        $this->assertFalse($segment->isDiscontinuity());
37
38
        $segment = $m3u8->getSegments()->offsetGet(1);
39
        $this->assertEquals(10, $segment->getExtinfTag()->getDuration());
40
        $this->assertEquals('video01.ts', (string) $segment->getUri());
41
        $this->assertTrue($segment->isDiscontinuity());
42
    }
43
44
    public function testDump()
45
    {
46
        $m3u8 = DummyM3u8Factory::createM3u8(3);
47
48
        $this->assertEquals(DummyM3u8Factory::createM3u8Content(3), $m3u8->dump());
49
    }
50
}
51