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