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