00001 <?php 00002 00007 class LocalFileTest extends PHPUnit_Framework_TestCase { 00008 function setUp() { 00009 $info = array( 00010 'name' => 'test', 00011 'directory' => '/testdir', 00012 'url' => '/testurl', 00013 'hashLevels' => 2, 00014 'transformVia404' => false, 00015 ); 00016 $this->repo_hl0 = new LocalRepo( array( 'hashLevels' => 0 ) + $info ); 00017 $this->repo_hl2 = new LocalRepo( array( 'hashLevels' => 2 ) + $info ); 00018 $this->repo_lc = new LocalRepo( array( 'initialCapital' => false ) + $info ); 00019 $this->file_hl0 = $this->repo_hl0->newFile( 'test!' ); 00020 $this->file_hl2 = $this->repo_hl2->newFile( 'test!' ); 00021 $this->file_lc = $this->repo_lc->newFile( 'test!' ); 00022 } 00023 00024 function testGetHashPath() { 00025 $this->assertEquals( '', $this->file_hl0->getHashPath() ); 00026 $this->assertEquals( 'a/a2/', $this->file_hl2->getHashPath() ); 00027 $this->assertEquals( 'c/c4/', $this->file_lc->getHashPath() ); 00028 } 00029 00030 function testGetRel() { 00031 $this->assertEquals( 'Test!', $this->file_hl0->getRel() ); 00032 $this->assertEquals( 'a/a2/Test!', $this->file_hl2->getRel() ); 00033 $this->assertEquals( 'c/c4/test!', $this->file_lc->getRel() ); 00034 } 00035 00036 function testGetUrlRel() { 00037 $this->assertEquals( 'Test%21', $this->file_hl0->getUrlRel() ); 00038 $this->assertEquals( 'a/a2/Test%21', $this->file_hl2->getUrlRel() ); 00039 $this->assertEquals( 'c/c4/test%21', $this->file_lc->getUrlRel() ); 00040 } 00041 00042 function testGetArchivePath() { 00043 $this->assertEquals( '/testdir/archive', $this->file_hl0->getArchivePath() ); 00044 $this->assertEquals( '/testdir/archive/a/a2', $this->file_hl2->getArchivePath() ); 00045 $this->assertEquals( '/testdir/archive/!', $this->file_hl0->getArchivePath( '!' ) ); 00046 $this->assertEquals( '/testdir/archive/a/a2/!', $this->file_hl2->getArchivePath( '!' ) ); 00047 } 00048 00049 function testGetThumbPath() { 00050 $this->assertEquals( '/testdir/thumb/Test!', $this->file_hl0->getThumbPath() ); 00051 $this->assertEquals( '/testdir/thumb/a/a2/Test!', $this->file_hl2->getThumbPath() ); 00052 $this->assertEquals( '/testdir/thumb/Test!/x', $this->file_hl0->getThumbPath( 'x' ) ); 00053 $this->assertEquals( '/testdir/thumb/a/a2/Test!/x', $this->file_hl2->getThumbPath( 'x' ) ); 00054 } 00055 00056 function testGetArchiveUrl() { 00057 $this->assertEquals( '/testurl/archive', $this->file_hl0->getArchiveUrl() ); 00058 $this->assertEquals( '/testurl/archive/a/a2', $this->file_hl2->getArchiveUrl() ); 00059 $this->assertEquals( '/testurl/archive/%21', $this->file_hl0->getArchiveUrl( '!' ) ); 00060 $this->assertEquals( '/testurl/archive/a/a2/%21', $this->file_hl2->getArchiveUrl( '!' ) ); 00061 } 00062 00063 function testGetThumbUrl() { 00064 $this->assertEquals( '/testurl/thumb/Test%21', $this->file_hl0->getThumbUrl() ); 00065 $this->assertEquals( '/testurl/thumb/a/a2/Test%21', $this->file_hl2->getThumbUrl() ); 00066 $this->assertEquals( '/testurl/thumb/Test%21/x', $this->file_hl0->getThumbUrl( 'x' ) ); 00067 $this->assertEquals( '/testurl/thumb/a/a2/Test%21/x', $this->file_hl2->getThumbUrl( 'x' ) ); 00068 } 00069 00070 function testGetArchiveVirtualUrl() { 00071 $this->assertEquals( 'mwrepo://test/public/archive', $this->file_hl0->getArchiveVirtualUrl() ); 00072 $this->assertEquals( 'mwrepo://test/public/archive/a/a2', $this->file_hl2->getArchiveVirtualUrl() ); 00073 $this->assertEquals( 'mwrepo://test/public/archive/%21', $this->file_hl0->getArchiveVirtualUrl( '!' ) ); 00074 $this->assertEquals( 'mwrepo://test/public/archive/a/a2/%21', $this->file_hl2->getArchiveVirtualUrl( '!' ) ); 00075 } 00076 00077 function testGetThumbVirtualUrl() { 00078 $this->assertEquals( 'mwrepo://test/public/thumb/Test%21', $this->file_hl0->getThumbVirtualUrl() ); 00079 $this->assertEquals( 'mwrepo://test/public/thumb/a/a2/Test%21', $this->file_hl2->getThumbVirtualUrl() ); 00080 $this->assertEquals( 'mwrepo://test/public/thumb/Test%21/%21', $this->file_hl0->getThumbVirtualUrl( '!' ) ); 00081 $this->assertEquals( 'mwrepo://test/public/thumb/a/a2/Test%21/%21', $this->file_hl2->getThumbVirtualUrl( '!' ) ); 00082 } 00083 00084 function testGetUrl() { 00085 $this->assertEquals( '/testurl/Test%21', $this->file_hl0->getUrl() ); 00086 $this->assertEquals( '/testurl/a/a2/Test%21', $this->file_hl2->getUrl() ); 00087 } 00088 } 00089 00090