MediaWiki  REL1_19
IEUrlExtensionTest.php
Go to the documentation of this file.
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 }