assertSame('s:1:/vod/a.mkv', StreamUtils::firstSource('["s:1:/vod/a.mkv","http://b/c.mkv"]')); $this->assertSame('http://b/c.mkv', StreamUtils::firstSource('{"x":"http://b/c.mkv"}'), 'a list stored with keys'); } public function testNoSourceIsTheEmptyString(): void { foreach (['', '[]', 'null', 'not json', '[null]', '[["nested"]]', '[42]', null, false, 7, []] as $rStored) { $this->assertSame('', StreamUtils::firstSource($rStored), var_export($rStored, true)); } $this->assertSame('', pathinfo(StreamUtils::firstSource('[]'))['filename'], 'what the TMDb refresh takes its title from'); } }