$additionalLoader->
setCurrentDir('.'
);
$fileLoader->
setResolver($loaderResolver =
new LoaderResolver([$fileLoader,
$additionalLoader]));
// Default case
$this->
assertSame('path/to/file1',
$fileLoader->
import('my_resource'
));
// Check first file is imported if not already loading
$this->
assertSame('path/to/file1',
$fileLoader->
import('my_resource'
));
// Check second file is imported if first is already loading
$fileLoader->
addLoading('path/to/file1'
);
$this->
assertSame('path/to/file2',
$fileLoader->
import('my_resource'
));
// Check exception throws if first (and only available) file is already loading
try { $fileLoader->
import('my_resource'
);
$this->
fail('->import() throws a FileLoaderImportCircularReferenceException if the resource is already loading'
);
} catch (\Exception
$e) { $this->
assertInstanceOf(FileLoaderImportCircularReferenceException::
class,
$e, '->import() throws a FileLoaderImportCircularReferenceException if the resource is already loading'
);
} // Check exception throws if all files are already loading