setAccessible(true); return $method->invoke($controller, collect($exts)); } it('classifies a mixed photo+video album as photo:video:album', function () { expect(classifyExts(['mp4', 'jpg']))->toBe('photo:video:album'); }); it('classifies a mixed album with png/webp/jpeg as photo:video:album', function () { expect(classifyExts(['mp4', 'png']))->toBe('photo:video:album') ->and(classifyExts(['mp4', 'webp']))->toBe('photo:video:album') ->and(classifyExts(['mp4', 'jpeg']))->toBe('photo:video:album'); }); it('classifies a video-only album as video:album', function () { expect(classifyExts(['mp4', 'mp4']))->toBe('video:album'); }); it('classifies a photo-only album as photo:album', function () { expect(classifyExts(['jpg', 'png']))->toBe('photo:album'); }); it('classifies single-item albums by their extension', function () { expect(classifyExts(['jpg']))->toBe('photo') ->and(classifyExts(['mp4']))->toBe('video'); });