follow up r60961 just test for truth rather than using isset. Found a bug in the...
[lhc/web/wiklou.git] / tests / LocalFileTest.php
1 <?php
2
3 /**
4 * These tests should work regardless of $wgCapitalLinks
5 */
6
7 require 'Namespace.php';
8
9 class LocalFileTest extends PHPUnit_Framework_TestCase {
10 function setUp() {
11 global $wgContLang;
12 $wgContLang = new Language;
13 $info = array(
14 'name' => 'test',
15 'directory' => '/testdir',
16 'url' => '/testurl',
17 'hashLevels' => 2,
18 'transformVia404' => false,
19 );
20 $this->repo_hl0 = new LocalRepo( array( 'hashLevels' => 0 ) + $info );
21 $this->repo_hl2 = new LocalRepo( array( 'hashLevels' => 2 ) + $info );
22 $this->repo_lc = new LocalRepo( array( 'initialCapital' => false ) + $info );
23 $this->file_hl0 = $this->repo_hl0->newFile( 'test!' );
24 $this->file_hl2 = $this->repo_hl2->newFile( 'test!' );
25 $this->file_lc = $this->repo_lc->newFile( 'test!' );
26 }
27
28 function tearDown() {
29 global $wgContLang;
30 unset($wgContLang);
31 }
32
33 function testGetHashPath() {
34 $this->assertEquals( '', $this->file_hl0->getHashPath() );
35 $this->assertEquals( 'a/a2/', $this->file_hl2->getHashPath() );
36 $this->assertEquals( 'c/c4/', $this->file_lc->getHashPath() );
37 }
38
39 function testGetRel() {
40 $this->assertEquals( 'Test!', $this->file_hl0->getRel() );
41 $this->assertEquals( 'a/a2/Test!', $this->file_hl2->getRel() );
42 $this->assertEquals( 'c/c4/test!', $this->file_lc->getRel() );
43 }
44
45 function testGetUrlRel() {
46 $this->assertEquals( 'Test%21', $this->file_hl0->getUrlRel() );
47 $this->assertEquals( 'a/a2/Test%21', $this->file_hl2->getUrlRel() );
48 $this->assertEquals( 'c/c4/test%21', $this->file_lc->getUrlRel() );
49 }
50
51 function testGetArchivePath() {
52 $this->assertEquals( '/testdir/archive', $this->file_hl0->getArchivePath() );
53 $this->assertEquals( '/testdir/archive/a/a2', $this->file_hl2->getArchivePath() );
54 $this->assertEquals( '/testdir/archive/!', $this->file_hl0->getArchivePath( '!' ) );
55 $this->assertEquals( '/testdir/archive/a/a2/!', $this->file_hl2->getArchivePath( '!' ) );
56 }
57
58 function testGetThumbPath() {
59 $this->assertEquals( '/testdir/thumb/Test!', $this->file_hl0->getThumbPath() );
60 $this->assertEquals( '/testdir/thumb/a/a2/Test!', $this->file_hl2->getThumbPath() );
61 $this->assertEquals( '/testdir/thumb/Test!/x', $this->file_hl0->getThumbPath( 'x' ) );
62 $this->assertEquals( '/testdir/thumb/a/a2/Test!/x', $this->file_hl2->getThumbPath( 'x' ) );
63 }
64
65 function testGetArchiveUrl() {
66 $this->assertEquals( '/testurl/archive', $this->file_hl0->getArchiveUrl() );
67 $this->assertEquals( '/testurl/archive/a/a2', $this->file_hl2->getArchiveUrl() );
68 $this->assertEquals( '/testurl/archive/%21', $this->file_hl0->getArchiveUrl( '!' ) );
69 $this->assertEquals( '/testurl/archive/a/a2/%21', $this->file_hl2->getArchiveUrl( '!' ) );
70 }
71
72 function testGetThumbUrl() {
73 $this->assertEquals( '/testurl/thumb/Test%21', $this->file_hl0->getThumbUrl() );
74 $this->assertEquals( '/testurl/thumb/a/a2/Test%21', $this->file_hl2->getThumbUrl() );
75 $this->assertEquals( '/testurl/thumb/Test%21/x', $this->file_hl0->getThumbUrl( 'x' ) );
76 $this->assertEquals( '/testurl/thumb/a/a2/Test%21/x', $this->file_hl2->getThumbUrl( 'x' ) );
77 }
78
79 function testGetArchiveVirtualUrl() {
80 $this->assertEquals( 'mwrepo://test/public/archive', $this->file_hl0->getArchiveVirtualUrl() );
81 $this->assertEquals( 'mwrepo://test/public/archive/a/a2', $this->file_hl2->getArchiveVirtualUrl() );
82 $this->assertEquals( 'mwrepo://test/public/archive/%21', $this->file_hl0->getArchiveVirtualUrl( '!' ) );
83 $this->assertEquals( 'mwrepo://test/public/archive/a/a2/%21', $this->file_hl2->getArchiveVirtualUrl( '!' ) );
84 }
85
86 function testGetThumbVirtualUrl() {
87 $this->assertEquals( 'mwrepo://test/thumb/Test%21', $this->file_hl0->getThumbVirtualUrl() );
88 $this->assertEquals( 'mwrepo://test/thumb/a/a2/Test%21', $this->file_hl2->getThumbVirtualUrl() );
89 $this->assertEquals( 'mwrepo://test/thumb/Test%21/%21', $this->file_hl0->getThumbVirtualUrl( '!' ) );
90 $this->assertEquals( 'mwrepo://test/thumb/a/a2/Test%21/%21', $this->file_hl2->getThumbVirtualUrl( '!' ) );
91 }
92
93 function testGetUrl() {
94 $this->assertEquals( '/testurl/Test%21', $this->file_hl0->getUrl() );
95 $this->assertEquals( '/testurl/a/a2/Test%21', $this->file_hl2->getUrl() );
96 }
97 }
98
99