28Each parameter must be an
array of two elements,
29first - an
array of params to the API call,
30and the second
array - expected results as returned by the API
41 foreach ( func_get_args() as $v ) {
57 $this->assertInternalType(
'array', $v, self::PARAM_ASSERT );
58 $this->assertEquals( 2, count( $v ), self::PARAM_ASSERT );
59 $this->assertArrayHasKey( 0, $v, self::PARAM_ASSERT );
60 $this->assertArrayHasKey( 1, $v, self::PARAM_ASSERT );
61 $this->assertInternalType(
'array', $v[0], self::PARAM_ASSERT );
62 $this->assertInternalType(
'array', $v[1], self::PARAM_ASSERT );
73 foreach ( $item as $k => $v ) {
74 if ( array_key_exists( $k, $all ) ) {
75 if ( is_array( $all[$k] ) ) {
78 $this->assertEquals( $all[$k], $v );
94 protected function check( $values,
array $session =
null,
95 $appendModule =
false,
User $user =
null
98 if ( !array_key_exists(
'action',
$req ) ) {
99 $req[
'action'] =
'query';
101 foreach (
$req as &$val ) {
102 if ( is_array( $val ) ) {
103 $val = implode(
'|', array_unique( $val ) );
107 $this->
assertResult( [
'batchcomplete' =>
true,
'query' => $exp ], $result[0],
$req );
114 $this->assertEquals( $exp, $result );
115 }
catch ( PHPUnit_Framework_ExpectationFailedException
$e ) {
116 if ( is_array( $message ) ) {
117 $message = http_build_query( $message );
121 $compEx =
'SebastianBergmann\Comparator\ComparisonFailure';
122 if ( !class_exists( $compEx ) ) {
123 $compEx =
'PHPUnit_Framework_ComparisonFailure';
126 throw new PHPUnit_Framework_ExpectationFailedException(
127 $e->getMessage() .
"\nRequest: $message",
131 print_r( $exp,
true ),
132 print_r( $result,
true ),
134 $e->getComparisonFailure()->getMessage() .
"\nRequest: $message"
146 unset( $result[
'pageid'] );
147 foreach ( $result as $key =>
$value ) {
148 if ( is_array(
$value ) ) {
156 return array_merge( $result );
This class has some common functionality for testing query module.
mergeExpected(&$all, $item)
Recursively merges the expected values in the $item into the $all.
check( $values, array $session=null, $appendModule=false, User $user=null)
Checks that the request's result matches the expected results.
assertResult( $exp, $result, $message='')
merge()
Merges all requests parameter + expected values into one.
validateRequestExpectedPair( $v)
Check that the parameter is a valid two element array, with the first element being API request and t...
static sanitizeResultArray( $result)
Recursively ksorts a result array and removes any 'pageid' keys.
doApiRequest(array $params, array $session=null, $appendModule=false, User $user=null, $tokenType=null)
Does the API request and returns the result.
The User object encapsulates all of the user-specific settings (user_id, name, rights,...
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global list
this hook is for auditing only $req
do that in ParserLimitReportFormat instead use this to modify the parameters of the image all existing parser cache entries will be invalid To avoid you ll need to handle that somehow(e.g. with the RejectParserCacheValue hook) because MediaWiki won 't do it for you. & $defaults also a ContextSource after deleting those rows but within the same transaction you ll probably need to make sure the header is varied on $request
returning false will NOT prevent logging $e
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))