MediaWiki  REL1_22
IEUrlExtensionTest.php
Go to the documentation of this file.
00001 <?php
00002 
00006 class IEUrlExtensionTest extends MediaWikiTestCase {
00007     public function testSimple() {
00008         $this->assertEquals(
00009             'y',
00010             IEUrlExtension::findIE6Extension( 'x.y' ),
00011             'Simple extension'
00012         );
00013     }
00014 
00015     public function testSimpleNoExt() {
00016         $this->assertEquals(
00017             '',
00018             IEUrlExtension::findIE6Extension( 'x' ),
00019             'No extension'
00020         );
00021     }
00022 
00023     public function testEmpty() {
00024         $this->assertEquals(
00025             '',
00026             IEUrlExtension::findIE6Extension( '' ),
00027             'Empty string'
00028         );
00029     }
00030 
00031     public function testQuestionMark() {
00032         $this->assertEquals(
00033             '',
00034             IEUrlExtension::findIE6Extension( '?' ),
00035             'Question mark only'
00036         );
00037     }
00038 
00039     public function testExtQuestionMark() {
00040         $this->assertEquals(
00041             'x',
00042             IEUrlExtension::findIE6Extension( '.x?' ),
00043             'Extension then question mark'
00044         );
00045     }
00046 
00047     public function testQuestionMarkExt() {
00048         $this->assertEquals(
00049             'x',
00050             IEUrlExtension::findIE6Extension( '?.x' ),
00051             'Question mark then extension'
00052         );
00053     }
00054 
00055     public function testInvalidChar() {
00056         $this->assertEquals(
00057             '',
00058             IEUrlExtension::findIE6Extension( '.x*' ),
00059             'Extension with invalid character'
00060         );
00061     }
00062 
00063     public function testInvalidCharThenExtension() {
00064         $this->assertEquals(
00065             'x',
00066             IEUrlExtension::findIE6Extension( '*.x' ),
00067             'Invalid character followed by an extension'
00068         );
00069     }
00070 
00071     public function testMultipleQuestionMarks() {
00072         $this->assertEquals(
00073             'c',
00074             IEUrlExtension::findIE6Extension( 'a?b?.c?.d?e?f' ),
00075             'Multiple question marks'
00076         );
00077     }
00078 
00079     public function testExeException() {
00080         $this->assertEquals(
00081             'd',
00082             IEUrlExtension::findIE6Extension( 'a?b?.exe?.d?.e' ),
00083             '.exe exception'
00084         );
00085     }
00086 
00087     public function testExeException2() {
00088         $this->assertEquals(
00089             'exe',
00090             IEUrlExtension::findIE6Extension( 'a?b?.exe' ),
00091             '.exe exception 2'
00092         );
00093     }
00094 
00095     public function testHash() {
00096         $this->assertEquals(
00097             '',
00098             IEUrlExtension::findIE6Extension( 'a#b.c' ),
00099             'Hash character preceding extension'
00100         );
00101     }
00102 
00103     public function testHash2() {
00104         $this->assertEquals(
00105             '',
00106             IEUrlExtension::findIE6Extension( 'a?#b.c' ),
00107             'Hash character preceding extension 2'
00108         );
00109     }
00110 
00111     public function testDotAtEnd() {
00112         $this->assertEquals(
00113             '',
00114             IEUrlExtension::findIE6Extension( '.' ),
00115             'Dot at end of string'
00116         );
00117     }
00118 
00119     public function testTwoDots() {
00120         $this->assertEquals(
00121             'z',
00122             IEUrlExtension::findIE6Extension( 'x.y.z' ),
00123             'Two dots'
00124         );
00125     }
00126 }