get('nelmio_api_doc.render_docs.html.asset');
/** @var TwigFunction */
$twigFunction = $getNelmioAsset->getFunctions()[0];
self::assertSame($expectedContent, $twigFunction->getCallable()->__invoke($mode, $asset));
}
public function provideAsset()
{
$cdnDir = 'https://cdn.jsdelivr.net/gh/nelmio/NelmioApiDocBundle/Resources/public';
$resourceDir = __DIR__.'/../../../Resources/public';
return $this->provideCss($cdnDir, $resourceDir)
+ $this->provideJs($cdnDir, $resourceDir)
+ $this->provideImage($cdnDir);
}
private function provideCss($cdnDir, $resourceDir)
{
return [
'bundled css' => [
AssetsMode::BUNDLE,
'style.css',
'',
],
'cdn css' => [
AssetsMode::CDN,
'style.css',
'',
],
'offline css' => [
AssetsMode::OFFLINE,
'style.css',
'',
],
'external css' => [
AssetsMode::BUNDLE,
'https://cdn.com/my.css',
'',
],
];
}
private function provideJs($cdnDir, $resourceDir)
{
return [
'bundled js' => [
AssetsMode::BUNDLE,
'init-swagger-ui.js',
'',
],
'cdn js' => [
AssetsMode::CDN,
'init-swagger-ui.js',
'',
],
'offline js' => [
AssetsMode::OFFLINE,
'init-swagger-ui.js',
'',
],
'external js' => [
AssetsMode::BUNDLE,
'https://cdn.com/my.js',
'',
],
];
}
private function provideImage($cdnDir)
{
return [
'bundled image' => [
AssetsMode::BUNDLE,
'logo.png',
'/bundles/nelmioapidoc/logo.png',
],
'cdn image' => [
AssetsMode::CDN,
'logo.png',
$cdnDir.'/logo.png',
],
'offline image fallbacks to cdn' => [
AssetsMode::OFFLINE,
'logo.png',
$cdnDir.'/logo.png',
],
];
}
}