summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/MWExceptionHandlerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/MWExceptionHandlerTest.php')
-rw-r--r--tests/phpunit/includes/MWExceptionHandlerTest.php73
1 files changed, 0 insertions, 73 deletions
diff --git a/tests/phpunit/includes/MWExceptionHandlerTest.php b/tests/phpunit/includes/MWExceptionHandlerTest.php
deleted file mode 100644
index 987dfa83..00000000
--- a/tests/phpunit/includes/MWExceptionHandlerTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * Tests for includes/Exception.php.
- *
- * @author Antoine Musso
- * @copyright Copyright © 2013, Antoine Musso
- * @copyright Copyright © 2013, Wikimedia Foundation Inc.
- * @file
- */
-
-class MWExceptionHandlerTest extends MediaWikiTestCase {
-
- /**
- * @covers MWExceptionHandler::getRedactedTrace
- */
- function testGetRedactedTrace() {
- try {
- $array = array( 'a', 'b' );
- $object = new StdClass();
- self::helperThrowAnException( $array, $object );
- } catch (Exception $e) {
- }
-
- # Make sure our strack trace contains an array and an object passed to
- # some function in the stacktrace. Else, we can not assert the trace
- # redaction achieved its job.
- $trace = $e->getTrace();
- $hasObject = false;
- $hasArray = false;
- foreach ( $trace as $frame ) {
- if ( ! isset( $frame['args'] ) ) {
- continue;
- }
- foreach ( $frame['args'] as $arg ) {
- $hasObject = $hasObject || is_object( $arg );
- $hasArray = $hasArray || is_array( $arg );
- }
-
- if( $hasObject && $hasArray ) {
- break;
- }
- }
- $this->assertTrue( $hasObject,
- "The stacktrace must have a function having an object has parameter" );
- $this->assertTrue( $hasArray,
- "The stacktrace must have a function having an array has parameter" );
-
- # Now we redact the trace.. and make sure no function arguments are
- # arrays or objects.
- $redacted = MWExceptionHandler::getRedactedTrace( $e );
-
- foreach ( $redacted as $frame ) {
- if ( ! isset( $frame['args'] ) ) {
- continue;
- }
- foreach ( $frame['args'] as $arg ) {
- $this->assertNotInternalType( 'array', $arg);
- $this->assertNotInternalType( 'object', $arg);
- }
- }
- }
-
- /**
- * Helper function for testExpandArgumentsInCall
- *
- * Pass it an object and an array :-)
- *
- * @throws Exception
- */
- protected static function helperThrowAnException( $a, $b ) {
- throw new Exception();
- }
-}