From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001
From: Pierre Schmitz <pierre@archlinux.de>
Date: Sat, 3 Dec 2011 13:29:22 +0100
Subject: Update to MediaWiki 1.18.0

* also update ArchLinux skin to chagnes in MonoBook
* Use only css to hide our menu bar when printing
---
 tests/phpunit/includes/MWFunctionTest.php | 86 +++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)
 create mode 100644 tests/phpunit/includes/MWFunctionTest.php

(limited to 'tests/phpunit/includes/MWFunctionTest.php')

diff --git a/tests/phpunit/includes/MWFunctionTest.php b/tests/phpunit/includes/MWFunctionTest.php
new file mode 100644
index 00000000..ed5e7602
--- /dev/null
+++ b/tests/phpunit/includes/MWFunctionTest.php
@@ -0,0 +1,86 @@
+<?php
+
+class MWFunctionTest extends MediaWikiTestCase {
+	
+	function testCallUserFuncWorkarounds() {
+		
+		$this->assertEquals( 
+			call_user_func( array( 'MWFunctionTest', 'someMethod' ) ),
+			MWFunction::call( 'MWFunctionTest::someMethod' )
+		);
+		$this->assertEquals( 
+			call_user_func( array( 'MWFunctionTest', 'someMethod' ), 'foo', 'bar', 'baz' ),
+			MWFunction::call( 'MWFunctionTest::someMethod', 'foo', 'bar', 'baz' )
+		);
+		
+		
+		
+		$this->assertEquals( 
+			call_user_func_array( array( 'MWFunctionTest', 'someMethod' ), array() ),
+			MWFunction::callArray( 'MWFunctionTest::someMethod', array() )
+		);
+		$this->assertEquals( 
+			call_user_func_array( array( 'MWFunctionTest', 'someMethod' ), array( 'foo', 'bar', 'baz' ) ),
+			MWFunction::callArray( 'MWFunctionTest::someMethod', array( 'foo', 'bar', 'baz' ) )
+		);
+		
+	}
+	
+	function testNewObjFunction() {
+		
+		$arg1 = 'Foo';
+		$arg2 = 'Bar';
+		$arg3 = array( 'Baz' );
+		$arg4 = new ExampleObject;
+		
+		$args = array( $arg1, $arg2, $arg3, $arg4 );
+		
+		$newObject = new MWBlankClass( $arg1, $arg2, $arg3, $arg4 );
+		
+		$this->assertEquals( 
+			MWFunction::newObj( 'MWBlankClass', $args )->args, 
+			$newObject->args
+		);
+		
+		$this->assertEquals( 
+			MWFunction::newObj( 'MWBlankClass', $args, true )->args, 
+			$newObject->args,
+			'Works even with PHP version < 5.1.3'
+		);
+		
+	}
+	
+	/**
+	 * @expectedException MWException
+	 */
+	function testCallingParentFails() {
+		
+		MWFunction::call( 'parent::foo' );
+	}
+	
+	/**
+	 * @expectedException MWException
+	 */
+	function testCallingSelfFails() {
+		
+		MWFunction::call( 'self::foo' );
+	}
+	
+	public static function someMethod() {
+		return func_get_args();
+	}
+	
+}
+
+class MWBlankClass {
+	
+	public $args = array();
+	
+	function __construct( $arg1, $arg2, $arg3, $arg4 ) {
+		$this->args = array( $arg1, $arg2, $arg3, $arg4 );
+	}
+	
+}
+
+class ExampleObject {
+}
-- 
cgit v1.2.3-54-g00ecf