diff options
| author | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-01-28 09:50:25 -0500 | 
|---|---|---|
| committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-01-28 09:50:25 -0500 | 
| commit | 5744df39e15f85c6cc8a9faf8924d77e76d2b216 (patch) | |
| tree | a8c8dd40a94d1fa0d5377566aa5548ae55a163da /tests/phpunit/includes/normal/CleanUpTest.php | |
| parent | 4bb2aeca1d198391ca856aa16c40b8559c68daec (diff) | |
| parent | 224b22a051051f6c2e494c3a2fb4adb42898e2d1 (diff) | |
Merge branch 'archwiki'
Conflicts:
	extensions/FluxBBAuthPlugin.php
	extensions/SyntaxHighlight_GeSHi/README
	extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php
	extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php
	extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php
	extensions/SyntaxHighlight_GeSHi/geshi/docs/CHANGES
	extensions/SyntaxHighlight_GeSHi/geshi/docs/THANKS
	extensions/SyntaxHighlight_GeSHi/geshi/docs/TODO
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractClass.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractClass_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractMethod.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateClass.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateClass_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateMethod.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Class.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Class_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Constant.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Constructor.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Destructor.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Function.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Global.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/I.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Index.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Interface.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Interface_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/L.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Lminus.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Lplus.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Method.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Page.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Page_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateClass.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateClass_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateMethod.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateVariable.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/StaticMethod.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/StaticVariable.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/T.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Tminus.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Tplus.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Variable.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/blank.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/class_folder.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/file.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/folder.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/function_folder.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/next_button.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/next_button_disabled.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/package.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/package_folder.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/previous_button.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/previous_button_disabled.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/private_class_logo.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/tutorial.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/tutorial_folder.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/up_button.png
	extensions/SyntaxHighlight_GeSHi/geshi/docs/geshi-doc.html
	extensions/SyntaxHighlight_GeSHi/geshi/docs/geshi-doc.txt
	extensions/SyntaxHighlight_GeSHi/geshi/geshi.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/4cs.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/6502acme.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/6502kickass.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/6502tasm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/68000devpac.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/abap.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/actionscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/actionscript3.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ada.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/algol68.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/apache.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/applescript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/apt_sources.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/asm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/asp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/autoconf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/autohotkey.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/autoit.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/avisynth.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/awk.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/bascomavr.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/bash.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/basic4gl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/bf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/bibtex.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/blitzbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/bnf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/boo.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/c.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/c_loadrunner.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/c_mac.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/caddcl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cadlisp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cfdg.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cfm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/chaiscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cil.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/clojure.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cmake.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cobol.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/coffeescript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cpp-qt.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cpp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/csharp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/css.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/cuesheet.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/d.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/dcs.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/delphi.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/diff.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/div.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/dos.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/dot.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/e.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ecmascript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/eiffel.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/email.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/epc.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/erlang.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/euphoria.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/f1.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/falcon.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/fo.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/fortran.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/freebasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/fsharp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gambas.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gdb.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/genero.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/genie.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gettext.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/glsl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gml.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gnuplot.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/go.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/groovy.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/gwbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/hicest.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/hq9plus.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/html4strict.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/html5.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/icon.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/idl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ini.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/inno.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/intercal.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/io.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/j.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/java.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/java5.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/javascript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/jquery.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/kixtart.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/klonec.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/klonecpp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/latex.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lb.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lisp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/llvm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/locobasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/logtalk.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lolcode.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lotusformulas.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lotusscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lsl2.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/lua.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/m68k.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/magiksf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/make.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mapbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/matlab.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mirc.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mmix.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/modula2.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/modula3.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mpasm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mxml.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/mysql.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/newlisp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/nsis.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oberon2.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/objc.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/objeck.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ocaml-brief.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ocaml.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oobas.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oracle11.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oracle8.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oxygene.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/oz.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pascal.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pcre.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/per.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/perl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/perl6.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/php-brief.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/php.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pic16.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pike.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pixelbender.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pli.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/plsql.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/postgresql.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/povray.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/powerbuilder.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/powershell.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/proftpd.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/progress.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/prolog.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/properties.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/providex.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/purebasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/pycon.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/python.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/q.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/qbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/rails.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/rebol.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/reg.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/robots.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/rpmspec.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/rsplus.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/ruby.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/sas.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/scala.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/scheme.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/scilab.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/sdlbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/smalltalk.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/smarty.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/sql.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/systemverilog.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/tcl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/teraterm.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/text.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/thinbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/tsql.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/typoscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/unicon.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/uscript.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/vala.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/vb.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/vbnet.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/verilog.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/vhdl.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/vim.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/visualfoxpro.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/visualprolog.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/whitespace.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/whois.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/winbatch.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/xbasic.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/xml.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/xorg_conf.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/xpp.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/yaml.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/z80.php
	extensions/SyntaxHighlight_GeSHi/geshi/geshi/zxbasic.php
Diffstat (limited to 'tests/phpunit/includes/normal/CleanUpTest.php')
| -rw-r--r-- | tests/phpunit/includes/normal/CleanUpTest.php | 285 | 
1 files changed, 156 insertions, 129 deletions
| diff --git a/tests/phpunit/includes/normal/CleanUpTest.php b/tests/phpunit/includes/normal/CleanUpTest.php index d5ad18d8..52dd2ef5 100644 --- a/tests/phpunit/includes/normal/CleanUpTest.php +++ b/tests/phpunit/includes/normal/CleanUpTest.php @@ -29,16 +29,21 @@   * Requires PHPUnit.   *   * @ingroup UtfNormal + * @group Large + * + * We ignore code coverage for this test suite until they are rewritten + * to use data providers (bug 46561). + * @codeCoverageIgnore   */  class CleanUpTest extends MediaWikiTestCase {  	/** @todo document */ -	function testAscii() { +	public function testAscii() {  		$text = 'This is plain ASCII text.';  		$this->assertEquals( $text, UtfNormal::cleanUp( $text ) );  	}  	/** @todo document */ -	function testNull() { +	public function testNull() {  		$text = "a \x00 null";  		$expect = "a \xef\xbf\xbd null";  		$this->assertEquals( @@ -47,13 +52,13 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testLatin() { +	public function testLatin() {  		$text = "L'\xc3\xa9cole";  		$this->assertEquals( $text, UtfNormal::cleanUp( $text ) );  	}  	/** @todo document */ -	function testLatinNormal() { +	public function testLatinNormal() {  		$text = "L'e\xcc\x81cole";  		$expect = "L'\xc3\xa9cole";  		$this->assertEquals( $expect, UtfNormal::cleanUp( $text ) ); @@ -65,19 +70,24 @@ class CleanUpTest extends MediaWikiTestCase {  	 */  	function XtestAllChars() {  		$rep = UTF8_REPLACEMENT; -		for( $i = 0x0; $i < UNICODE_MAX; $i++ ) { +		for ( $i = 0x0; $i < UNICODE_MAX; $i++ ) {  			$char = codepointToUtf8( $i );  			$clean = UtfNormal::cleanUp( $char );  			$x = sprintf( "%04X", $i ); -			if( $i % 0x1000 == 0 ) echo "U+$x\n"; -			if( $i == 0x0009 || -			    $i == 0x000a || -			    $i == 0x000d || -			    ($i > 0x001f && $i < UNICODE_SURROGATE_FIRST) || -			    ($i > UNICODE_SURROGATE_LAST && $i < 0xfffe ) || -			    ($i > 0xffff && $i <= UNICODE_MAX ) ) { -				if( isset( UtfNormal::$utfCanonicalComp[$char] ) || isset( UtfNormal::$utfCanonicalDecomp[$char] ) ) { -				    $comp = UtfNormal::NFC( $char ); + +			if ( $i % 0x1000 == 0 ) { +				echo "U+$x\n"; +			} + +			if ( $i == 0x0009 || +				$i == 0x000a || +				$i == 0x000d || +				( $i > 0x001f && $i < UNICODE_SURROGATE_FIRST ) || +				( $i > UNICODE_SURROGATE_LAST && $i < 0xfffe ) || +				( $i > 0xffff && $i <= UNICODE_MAX ) +			) { +				if ( isset( UtfNormal::$utfCanonicalComp[$char] ) || isset( UtfNormal::$utfCanonicalDecomp[$char] ) ) { +					$comp = UtfNormal::NFC( $char );  					$this->assertEquals(  						bin2hex( $comp ),  						bin2hex( $clean ), @@ -95,7 +105,7 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testAllBytes() { +	public function testAllBytes() {  		$this->doTestBytes( '', '' );  		$this->doTestBytes( 'x', '' );  		$this->doTestBytes( '', 'x' ); @@ -104,32 +114,38 @@ class CleanUpTest extends MediaWikiTestCase {  	/** @todo document */  	function doTestBytes( $head, $tail ) { -		for( $i = 0x0; $i < 256; $i++ ) { +		for ( $i = 0x0; $i < 256; $i++ ) {  			$char = $head . chr( $i ) . $tail;  			$clean = UtfNormal::cleanUp( $char );  			$x = sprintf( "%02X", $i ); -			if( $i == 0x0009 || -			    $i == 0x000a || -			    $i == 0x000d || -			    ($i > 0x001f && $i < 0x80) ) { + +			if ( $i == 0x0009 || +				$i == 0x000a || +				$i == 0x000d || +				( $i > 0x001f && $i < 0x80 ) +			) {  				$this->assertEquals(  					bin2hex( $char ),  					bin2hex( $clean ),  					"ASCII byte $x should be intact" ); -				if( $char != $clean ) return; +				if ( $char != $clean ) { +					return; +				}  			} else {  				$norm = $head . UTF8_REPLACEMENT . $tail;  				$this->assertEquals(  					bin2hex( $norm ),  					bin2hex( $clean ),  					"Forbidden byte $x should be rejected" ); -				if( $norm != $clean ) return; +				if ( $norm != $clean ) { +					return; +				}  			}  		}  	}  	/** @todo document */ -	function testDoubleBytes() { +	public function testDoubleBytes() {  		$this->doTestDoubleBytes( '', '' );  		$this->doTestDoubleBytes( 'x', '' );  		$this->doTestDoubleBytes( '', 'x' ); @@ -140,42 +156,49 @@ class CleanUpTest extends MediaWikiTestCase {  	 * @todo document  	 */  	function doTestDoubleBytes( $head, $tail ) { -		for( $first = 0xc0; $first < 0x100; $first+=2 ) { -			for( $second = 0x80; $second < 0x100; $second+=2 ) { +		for ( $first = 0xc0; $first < 0x100; $first += 2 ) { +			for ( $second = 0x80; $second < 0x100; $second += 2 ) {  				$char = $head . chr( $first ) . chr( $second ) . $tail;  				$clean = UtfNormal::cleanUp( $char );  				$x = sprintf( "%02X,%02X", $first, $second ); -				if( $first > 0xc1 && -				    $first < 0xe0 && -				    $second < 0xc0 ) { -				    $norm = UtfNormal::NFC( $char ); +				if ( $first > 0xc1 && +					$first < 0xe0 && +					$second < 0xc0 +				) { +					$norm = UtfNormal::NFC( $char );  					$this->assertEquals(  						bin2hex( $norm ),  						bin2hex( $clean ),  						"Pair $x should be intact" ); -				    if( $norm != $clean ) return; -				} elseif( $first > 0xfd || $second > 0xbf ) { +					if ( $norm != $clean ) { +						return; +					} +				} elseif ( $first > 0xfd || $second > 0xbf ) {  					# fe and ff are not legal head bytes -- expect two replacement chars  					$norm = $head . UTF8_REPLACEMENT . UTF8_REPLACEMENT . $tail;  					$this->assertEquals(  						bin2hex( $norm ),  						bin2hex( $clean ),  						"Forbidden pair $x should be rejected" ); -					if( $norm != $clean ) return; +					if ( $norm != $clean ) { +						return; +					}  				} else {  					$norm = $head . UTF8_REPLACEMENT . $tail;  					$this->assertEquals(  						bin2hex( $norm ),  						bin2hex( $clean ),  						"Forbidden pair $x should be rejected" ); -					if( $norm != $clean ) return; +					if ( $norm != $clean ) { +						return; +					}  				}  			}  		}  	}  	/** @todo document */ -	function testTripleBytes() { +	public function testTripleBytes() {  		$this->doTestTripleBytes( '', '' );  		$this->doTestTripleBytes( 'x', '' );  		$this->doTestTripleBytes( '', 'x' ); @@ -184,24 +207,27 @@ class CleanUpTest extends MediaWikiTestCase {  	/** @todo document */  	function doTestTripleBytes( $head, $tail ) { -		for( $first = 0xc0; $first < 0x100; $first+=2 ) { -			for( $second = 0x80; $second < 0x100; $second+=2 ) { +		for ( $first = 0xc0; $first < 0x100; $first += 2 ) { +			for ( $second = 0x80; $second < 0x100; $second += 2 ) {  				#for( $third = 0x80; $third < 0x100; $third++ ) { -				for( $third = 0x80; $third < 0x81; $third++ ) { +				for ( $third = 0x80; $third < 0x81; $third++ ) {  					$char = $head . chr( $first ) . chr( $second ) . chr( $third ) . $tail;  					$clean = UtfNormal::cleanUp( $char );  					$x = sprintf( "%02X,%02X,%02X", $first, $second, $third ); -					if( $first >= 0xe0 && + +					if ( $first >= 0xe0 &&  						$first < 0xf0 &&  						$second < 0xc0 && -						$third < 0xc0 ) { -						if( $first == 0xe0 && $second < 0xa0 ) { +						$third < 0xc0 +					) { +						if ( $first == 0xe0 && $second < 0xa0 ) {  							$this->assertEquals(  								bin2hex( $head . UTF8_REPLACEMENT . $tail ),  								bin2hex( $clean ),  								"Overlong triplet $x should be rejected" ); -						} elseif( $first == 0xed && -							( chr( $first ) . chr( $second ) . chr( $third ))  >= UTF8_SURROGATE_FIRST ) { +						} elseif ( $first == 0xed && +							( chr( $first ) . chr( $second ) . chr( $third ) ) >= UTF8_SURROGATE_FIRST +						) {  							$this->assertEquals(  								bin2hex( $head . UTF8_REPLACEMENT . $tail ),  								bin2hex( $clean ), @@ -212,27 +238,28 @@ class CleanUpTest extends MediaWikiTestCase {  								bin2hex( $clean ),  								"Triplet $x should be intact" );  						} -					} elseif( $first > 0xc1 && $first < 0xe0 && $second < 0xc0 ) { +					} elseif ( $first > 0xc1 && $first < 0xe0 && $second < 0xc0 ) {  						$this->assertEquals(  							bin2hex( UtfNormal::NFC( $head . chr( $first ) . chr( $second ) ) . UTF8_REPLACEMENT . $tail ),  							bin2hex( $clean ),  							"Valid 2-byte $x + broken tail" ); -					} elseif( $second > 0xc1 && $second < 0xe0 && $third < 0xc0 ) { +					} elseif ( $second > 0xc1 && $second < 0xe0 && $third < 0xc0 ) {  						$this->assertEquals(  							bin2hex( $head . UTF8_REPLACEMENT . UtfNormal::NFC( chr( $second ) . chr( $third ) . $tail ) ),  							bin2hex( $clean ),  							"Broken head + valid 2-byte $x" ); -					} elseif( ( $first > 0xfd || $second > 0xfd ) && -					            ( ( $second > 0xbf && $third > 0xbf ) || -					              ( $second < 0xc0 && $third < 0xc0 ) || -					              ( $second > 0xfd ) || -					              ( $third > 0xfd ) ) ) { +					} elseif ( ( $first > 0xfd || $second > 0xfd ) && +						( ( $second > 0xbf && $third > 0xbf ) || +							( $second < 0xc0 && $third < 0xc0 ) || +							( $second > 0xfd ) || +							( $third > 0xfd ) ) +					) {  						# fe and ff are not legal head bytes -- expect three replacement chars  						$this->assertEquals(  							bin2hex( $head . UTF8_REPLACEMENT . UTF8_REPLACEMENT . UTF8_REPLACEMENT . $tail ),  							bin2hex( $clean ),  							"Forbidden triplet $x should be rejected" ); -					} elseif( $first > 0xc2 && $second < 0xc0 && $third < 0xc0 ) { +					} elseif ( $first > 0xc2 && $second < 0xc0 && $third < 0xc0 ) {  						$this->assertEquals(  							bin2hex( $head . UTF8_REPLACEMENT . $tail ),  							bin2hex( $clean ), @@ -249,22 +276,22 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testChunkRegression() { +	public function testChunkRegression() {  		# Check for regression against a chunking bug -		$text   = "\x46\x55\xb8" . -		          "\xdc\x96" . -		          "\xee" . -		          "\xe7" . -		          "\x44" . -		          "\xaa" . -		          "\x2f\x25"; +		$text = "\x46\x55\xb8" . +			"\xdc\x96" . +			"\xee" . +			"\xe7" . +			"\x44" . +			"\xaa" . +			"\x2f\x25";  		$expect = "\x46\x55\xef\xbf\xbd" . -		          "\xdc\x96" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\x44" . -		          "\xef\xbf\xbd" . -		          "\x2f\x25"; +			"\xdc\x96" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\x44" . +			"\xef\xbf\xbd" . +			"\x2f\x25";  		$this->assertEquals(  			bin2hex( $expect ), @@ -272,34 +299,34 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testInterposeRegression() { -		$text   = "\x4e\x30" . -		          "\xb1" .		# bad tail -		          "\x3a" . -		          "\x92" .		# bad tail -		          "\x62\x3a" . -		          "\x84" .		# bad tail -		          "\x43" . -		          "\xc6" .		# bad head -		          "\x3f" . -		          "\x92" .		# bad tail -		          "\xad" .		# bad tail -		          "\x7d" . -		          "\xd9\x95"; +	public function testInterposeRegression() { +		$text = "\x4e\x30" . +			"\xb1" . # bad tail +			"\x3a" . +			"\x92" . # bad tail +			"\x62\x3a" . +			"\x84" . # bad tail +			"\x43" . +			"\xc6" . # bad head +			"\x3f" . +			"\x92" . # bad tail +			"\xad" . # bad tail +			"\x7d" . +			"\xd9\x95";  		$expect = "\x4e\x30" . -		          "\xef\xbf\xbd" . -		          "\x3a" . -		          "\xef\xbf\xbd" . -		          "\x62\x3a" . -		          "\xef\xbf\xbd" . -		          "\x43" . -		          "\xef\xbf\xbd" . -		          "\x3f" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\x7d" . -		          "\xd9\x95"; +			"\xef\xbf\xbd" . +			"\x3a" . +			"\xef\xbf\xbd" . +			"\x62\x3a" . +			"\xef\xbf\xbd" . +			"\x43" . +			"\xef\xbf\xbd" . +			"\x3f" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\x7d" . +			"\xd9\x95";  		$this->assertEquals(  			bin2hex( $expect ), @@ -307,63 +334,63 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testOverlongRegression() { -		$text   = "\x67" . -		          "\x1a" . # forbidden ascii -		          "\xea" . # bad head -		          "\xc1\xa6" . # overlong sequence -		          "\xad" . # bad tail -		          "\x1c" . # forbidden ascii -		          "\xb0" . # bad tail -		          "\x3c" . -		          "\x9e";  # bad tail +	public function testOverlongRegression() { +		$text = "\x67" . +			"\x1a" . # forbidden ascii +			"\xea" . # bad head +			"\xc1\xa6" . # overlong sequence +			"\xad" . # bad tail +			"\x1c" . # forbidden ascii +			"\xb0" . # bad tail +			"\x3c" . +			"\x9e"; # bad tail  		$expect = "\x67" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\x3c" . -		          "\xef\xbf\xbd"; +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\x3c" . +			"\xef\xbf\xbd";  		$this->assertEquals(  			bin2hex( $expect ),  			bin2hex( UtfNormal::cleanUp( $text ) ) );  	}  	/** @todo document */ -	function testSurrogateRegression() { -		$text   = "\xed\xb4\x96" . # surrogate 0xDD16 -		          "\x83" . # bad tail -		          "\xb4" . # bad tail -		          "\xac";  # bad head +	public function testSurrogateRegression() { +		$text = "\xed\xb4\x96" . # surrogate 0xDD16 +			"\x83" . # bad tail +			"\xb4" . # bad tail +			"\xac"; # bad head  		$expect = "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd"; +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd";  		$this->assertEquals(  			bin2hex( $expect ),  			bin2hex( UtfNormal::cleanUp( $text ) ) );  	}  	/** @todo document */ -	function testBomRegression() { -		$text   = "\xef\xbf\xbe" . # U+FFFE, illegal char -		          "\xb2" . # bad tail -		          "\xef" . # bad head -		          "\x59"; +	public function testBomRegression() { +		$text = "\xef\xbf\xbe" . # U+FFFE, illegal char +			"\xb2" . # bad tail +			"\xef" . # bad head +			"\x59";  		$expect = "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\xef\xbf\xbd" . -		          "\x59"; +			"\xef\xbf\xbd" . +			"\xef\xbf\xbd" . +			"\x59";  		$this->assertEquals(  			bin2hex( $expect ),  			bin2hex( UtfNormal::cleanUp( $text ) ) );  	}  	/** @todo document */ -	function testForbiddenRegression() { -		$text   = "\xef\xbf\xbf"; # U+FFFF, illegal char +	public function testForbiddenRegression() { +		$text = "\xef\xbf\xbf"; # U+FFFF, illegal char  		$expect = "\xef\xbf\xbd";  		$this->assertEquals(  			bin2hex( $expect ), @@ -371,10 +398,10 @@ class CleanUpTest extends MediaWikiTestCase {  	}  	/** @todo document */ -	function testHangulRegression() { +	public function testHangulRegression() {  		$text = "\xed\x9c\xaf" . # Hangul char -				"\xe1\x87\x81";  # followed by another final jamo -		$expect = $text;         # Should *not* change. +			"\xe1\x87\x81"; # followed by another final jamo +		$expect = $text; # Should *not* change.  		$this->assertEquals(  			bin2hex( $expect ),  			bin2hex( UtfNormal::cleanUp( $text ) ) ); | 
