MediaWiki REL1_33
MediaWikiMediaTestCase.php
Go to the documentation of this file.
1<?php
6
8 protected $repo;
10 protected $backend;
12 protected $filePath;
13
14 protected function setUp() {
15 parent::setUp();
16
17 $this->filePath = $this->getFilePath();
18 $containers = [ 'data' => $this->filePath ];
19 if ( $this->createsThumbnails() ) {
20 // We need a temp directory for the thumbnails
21 // the container is named 'temp-thumb' because it is the
22 // thumb directory for a repo named "temp".
23 $containers['temp-thumb'] = $this->getNewTempDirectory();
24 }
25
26 $this->backend = new FSFileBackend( [
27 'name' => 'localtesting',
28 'wikiId' => wfWikiID(),
29 'containerPaths' => $containers,
30 'tmpDirectory' => $this->getNewTempDirectory()
31 ] );
32 $this->repo = new FileRepo( $this->getRepoOptions() );
33 }
34
38 protected function getRepoOptions() {
39 return [
40 'name' => 'temp',
41 'url' => 'http://localhost/thumbtest',
42 'backend' => $this->backend
43 ];
44 }
45
52 protected function getFilePath() {
53 return __DIR__ . '/../../data/media/';
54 }
55
64 protected function createsThumbnails() {
65 return false;
66 }
67
76 protected function dataFile( $name, $type = false ) {
77 return new UnregisteredLocalFile( false, $this->repo,
78 "mwstore://localtesting/data/$name", $type );
79 }
80}
wfWikiID()
Get an ASCII string identifying this wiki This is used as a prefix in memcached keys.
Class for a file system (FS) based file backend.
Base class for file repositories.
Definition FileRepo.php:39
Specificly for testing Media handlers.
dataFile( $name, $type=false)
Utility function: Get a new file object for a file on disk but not actually in db.
createsThumbnails()
Will the test create thumbnails (and thus do we need to set aside a temporary directory for them?...
getFilePath()
The result of this method will set the file path to use, as well as the protected member $filePath.
getNewTempDirectory()
obtains a new temporary directory
A file object referring to either a standalone local file, or a file in a local repository with no da...