4 * These tests should work regardless of $wgCapitalLinks
8 class LocalFileTest
extends PHPUnit_Framework_TestCase
{
12 'directory' => '/testdir',
15 'transformVia404' => false,
17 $this->repo_hl0
= new LocalRepo( array( 'hashLevels' => 0 ) +
$info );
18 $this->repo_hl2
= new LocalRepo( array( 'hashLevels' => 2 ) +
$info );
19 $this->repo_lc
= new LocalRepo( array( 'initialCapital' => false ) +
$info );
20 $this->file_hl0
= $this->repo_hl0
->newFile( 'test!' );
21 $this->file_hl2
= $this->repo_hl2
->newFile( 'test!' );
22 $this->file_lc
= $this->repo_lc
->newFile( 'test!' );
25 function testGetHashPath() {
26 $this->assertEquals( '', $this->file_hl0
->getHashPath() );
27 $this->assertEquals( 'a/a2/', $this->file_hl2
->getHashPath() );
28 $this->assertEquals( 'c/c4/', $this->file_lc
->getHashPath() );
31 function testGetRel() {
32 $this->assertEquals( 'Test!', $this->file_hl0
->getRel() );
33 $this->assertEquals( 'a/a2/Test!', $this->file_hl2
->getRel() );
34 $this->assertEquals( 'c/c4/test!', $this->file_lc
->getRel() );
37 function testGetUrlRel() {
38 $this->assertEquals( 'Test%21', $this->file_hl0
->getUrlRel() );
39 $this->assertEquals( 'a/a2/Test%21', $this->file_hl2
->getUrlRel() );
40 $this->assertEquals( 'c/c4/test%21', $this->file_lc
->getUrlRel() );
43 function testGetArchivePath() {
44 $this->assertEquals( '/testdir/archive', $this->file_hl0
->getArchivePath() );
45 $this->assertEquals( '/testdir/archive/a/a2', $this->file_hl2
->getArchivePath() );
46 $this->assertEquals( '/testdir/archive/!', $this->file_hl0
->getArchivePath( '!' ) );
47 $this->assertEquals( '/testdir/archive/a/a2/!', $this->file_hl2
->getArchivePath( '!' ) );
50 function testGetThumbPath() {
51 $this->assertEquals( '/testdir/thumb/Test!', $this->file_hl0
->getThumbPath() );
52 $this->assertEquals( '/testdir/thumb/a/a2/Test!', $this->file_hl2
->getThumbPath() );
53 $this->assertEquals( '/testdir/thumb/Test!/x', $this->file_hl0
->getThumbPath( 'x' ) );
54 $this->assertEquals( '/testdir/thumb/a/a2/Test!/x', $this->file_hl2
->getThumbPath( 'x' ) );
57 function testGetArchiveUrl() {
58 $this->assertEquals( '/testurl/archive', $this->file_hl0
->getArchiveUrl() );
59 $this->assertEquals( '/testurl/archive/a/a2', $this->file_hl2
->getArchiveUrl() );
60 $this->assertEquals( '/testurl/archive/%21', $this->file_hl0
->getArchiveUrl( '!' ) );
61 $this->assertEquals( '/testurl/archive/a/a2/%21', $this->file_hl2
->getArchiveUrl( '!' ) );
64 function testGetThumbUrl() {
65 $this->assertEquals( '/testurl/thumb/Test%21', $this->file_hl0
->getThumbUrl() );
66 $this->assertEquals( '/testurl/thumb/a/a2/Test%21', $this->file_hl2
->getThumbUrl() );
67 $this->assertEquals( '/testurl/thumb/Test%21/x', $this->file_hl0
->getThumbUrl( 'x' ) );
68 $this->assertEquals( '/testurl/thumb/a/a2/Test%21/x', $this->file_hl2
->getThumbUrl( 'x' ) );
71 function testGetArchiveVirtualUrl() {
72 $this->assertEquals( 'mwrepo://test/public/archive', $this->file_hl0
->getArchiveVirtualUrl() );
73 $this->assertEquals( 'mwrepo://test/public/archive/a/a2', $this->file_hl2
->getArchiveVirtualUrl() );
74 $this->assertEquals( 'mwrepo://test/public/archive/%21', $this->file_hl0
->getArchiveVirtualUrl( '!' ) );
75 $this->assertEquals( 'mwrepo://test/public/archive/a/a2/%21', $this->file_hl2
->getArchiveVirtualUrl( '!' ) );
78 function testGetThumbVirtualUrl() {
79 $this->assertEquals( 'mwrepo://test/public/thumb/Test%21', $this->file_hl0
->getThumbVirtualUrl() );
80 $this->assertEquals( 'mwrepo://test/public/thumb/a/a2/Test%21', $this->file_hl2
->getThumbVirtualUrl() );
81 $this->assertEquals( 'mwrepo://test/public/thumb/Test%21/%21', $this->file_hl0
->getThumbVirtualUrl( '!' ) );
82 $this->assertEquals( 'mwrepo://test/public/thumb/a/a2/Test%21/%21', $this->file_hl2
->getThumbVirtualUrl( '!' ) );
85 function testGetUrl() {
86 $this->assertEquals( '/testurl/Test%21', $this->file_hl0
->getUrl() );
87 $this->assertEquals( '/testurl/a/a2/Test%21', $this->file_hl2
->getUrl() );