当前位置: 首页>>代码示例>>PHP>>正文


PHP ApiResult::setErrorFormatter方法代码示例

本文整理汇总了PHP中ApiResult::setErrorFormatter方法的典型用法代码示例。如果您正苦于以下问题:PHP ApiResult::setErrorFormatter方法的具体用法?PHP ApiResult::setErrorFormatter怎么用?PHP ApiResult::setErrorFormatter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ApiResult的用法示例。


在下文中一共展示了ApiResult::setErrorFormatter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testDeprecatedFunctions

 /**
  * @covers ApiResult
  */
 public function testDeprecatedFunctions()
 {
     // Ignore ApiResult deprecation warnings during this test
     set_error_handler(function ($errno, $errstr) use(&$warnings) {
         if (preg_match('/Use of ApiResult::\\S+ was deprecated in MediaWiki \\d+.\\d+\\./', $errstr)) {
             return true;
         }
         if (preg_match('/Use of ApiMain to ApiResult::__construct ' . 'was deprecated in MediaWiki \\d+.\\d+\\./', $errstr)) {
             return true;
         }
         return false;
     });
     $reset = new ScopedCallback('restore_error_handler');
     $context = new DerivativeContext(RequestContext::getMain());
     $context->setConfig(new HashConfig(array('APIModules' => array(), 'APIFormatModules' => array(), 'APIMaxResultSize' => 42)));
     $main = new ApiMain($context);
     $result = TestingAccessWrapper::newFromObject(new ApiResult($main));
     $this->assertSame(42, $result->maxSize);
     $this->assertSame($main->getErrorFormatter(), $result->errorFormatter);
     $this->assertSame($main, $result->mainForContinuation);
     $result = new ApiResult(8388608);
     $result->addContentValue(null, 'test', 'content');
     $result->addContentValue(array('foo', 'bar'), 'test', 'content');
     $result->addIndexedTagName(null, 'itn');
     $result->addSubelementsList(null, array('sub'));
     $this->assertSame(array('foo' => array('bar' => array('*' => 'content')), '*' => 'content'), $result->getData());
     $result->setRawMode();
     $this->assertSame(array('foo' => array('bar' => array('*' => 'content')), '*' => 'content', '_element' => 'itn', '_subelements' => array('sub')), $result->getData());
     $arr = array();
     ApiResult::setContent($arr, 'value');
     ApiResult::setContent($arr, 'value2', 'foobar');
     $this->assertSame(array(ApiResult::META_CONTENT => 'content', 'content' => 'value', 'foobar' => array(ApiResult::META_CONTENT => 'content', 'content' => 'value2')), $arr);
     $result = new ApiResult(3);
     $formatter = new ApiErrorFormatter_BackCompat($result);
     $result->setErrorFormatter($formatter);
     $result->disableSizeCheck();
     $this->assertTrue($result->addValue(null, 'foo', '1234567890'));
     $result->enableSizeCheck();
     $this->assertSame(0, $result->getSize());
     $this->assertFalse($result->addValue(null, 'foo', '1234567890'));
     $arr = array('foo' => array('bar' => 1));
     $result->setIndexedTagName_recursive($arr, 'itn');
     $this->assertSame(array('foo' => array('bar' => 1, ApiResult::META_INDEXED_TAG_NAME => 'itn')), $arr);
     $status = Status::newGood();
     $status->fatal('parentheses', '1');
     $status->fatal('parentheses', '2');
     $status->warning('parentheses', '3');
     $status->warning('parentheses', '4');
     $this->assertSame(array(array('type' => 'error', 'message' => 'parentheses', 'params' => array(0 => '1', ApiResult::META_INDEXED_TAG_NAME => 'param')), array('type' => 'error', 'message' => 'parentheses', 'params' => array(0 => '2', ApiResult::META_INDEXED_TAG_NAME => 'param')), ApiResult::META_INDEXED_TAG_NAME => 'error'), $result->convertStatusToArray($status, 'error'));
     $this->assertSame(array(array('type' => 'warning', 'message' => 'parentheses', 'params' => array(0 => '3', ApiResult::META_INDEXED_TAG_NAME => 'param')), array('type' => 'warning', 'message' => 'parentheses', 'params' => array(0 => '4', ApiResult::META_INDEXED_TAG_NAME => 'param')), ApiResult::META_INDEXED_TAG_NAME => 'warning'), $result->convertStatusToArray($status, 'warning'));
 }
开发者ID:ucfengzhun,项目名称:mediawiki,代码行数:54,代码来源:ApiResultTest.php

示例2: testInstanceDataMethods


//.........这里部分代码省略.........
     try {
         $obj->file = $fh;
         $result->addValue(null, 'sub', $obj);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add resource(stream) to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     try {
         $obj->file = $fh;
         $result->addValue(null, null, $obj);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add resource(stream) to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     fclose($fh);
     try {
         $result->addValue(null, 'inf', INF);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add non-finite floats to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     try {
         $result->addValue(null, null, INF);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add non-finite floats to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     try {
         $result->addValue(null, 'nan', NAN);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add non-finite floats to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     try {
         $result->addValue(null, null, NAN);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add non-finite floats to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     $result->addValue(null, null, NAN, ApiResult::NO_VALIDATE);
     try {
         $result->addValue(null, null, NAN, ApiResult::NO_SIZE_CHECK);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Cannot add non-finite floats to ApiResult', $ex->getMessage(), 'Expected exception');
     }
     $result->reset();
     $result->addParsedLimit('foo', 12);
     $this->assertSame(['limits' => ['foo' => 12], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
     $result->addParsedLimit('foo', 13);
     $this->assertSame(['limits' => ['foo' => 13], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
     $this->assertSame(null, $result->getResultData(['foo', 'bar', 'baz']));
     $this->assertSame(13, $result->getResultData(['limits', 'foo']));
     try {
         $result->getResultData(['limits', 'foo', 'bar']);
         $this->fail('Expected exception not thrown');
     } catch (InvalidArgumentException $ex) {
         $this->assertSame('Path limits.foo is not an array', $ex->getMessage(), 'Expected exception');
     }
     // Add two values and some metadata, but ensure metadata is not counted
     $result = new ApiResult(100);
     $obj = ['attr' => '12345'];
     ApiResult::setContentValue($obj, 'content', '1234567890');
     $this->assertTrue($result->addValue(null, 'foo', $obj));
     $this->assertSame(15, $result->getSize());
     $result = new ApiResult(10);
     $formatter = new ApiErrorFormatter($result, Language::factory('en'), 'none', false);
     $result->setErrorFormatter($formatter);
     $this->assertFalse($result->addValue(null, 'foo', '12345678901'));
     $this->assertTrue($result->addValue(null, 'foo', '12345678901', ApiResult::NO_SIZE_CHECK));
     $this->assertSame(0, $result->getSize());
     $result->reset();
     $this->assertTrue($result->addValue(null, 'foo', '1234567890'));
     $this->assertFalse($result->addValue(null, 'foo', '1'));
     $result->removeValue(null, 'foo');
     $this->assertTrue($result->addValue(null, 'foo', '1'));
     $result = new ApiResult(10);
     $obj = new ApiResultTestSerializableObject('ok');
     $obj->foobar = 'foobaz';
     $this->assertTrue($result->addValue(null, 'foo', $obj));
     $this->assertSame(2, $result->getSize());
     $result = new ApiResult(8388608);
     $result2 = new ApiResult(8388608);
     $result2->addValue(null, 'foo', 'bar');
     $result->addValue(null, 'baz', $result2);
     $this->assertSame(['baz' => ['foo' => 'bar', ApiResult::META_TYPE => 'assoc'], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
     $result = new ApiResult(8388608);
     $result->addValue(null, 'foo', "foo�bar");
     $result->addValue(null, 'bar', "á");
     $result->addValue(null, 'baz', 74);
     $result->addValue(null, null, "foo�bar");
     $result->addValue(null, null, "á");
     $this->assertSame(['foo' => "foo�bar", 'bar' => "á", 'baz' => 74, 0 => "foo�bar", 1 => "á", ApiResult::META_TYPE => 'assoc'], $result->getResultData());
     $result = new ApiResult(8388608);
     $obj = new stdClass();
     $obj->{'1'} = 'one';
     $arr = [];
     $result->addValue($arr, 'foo', $obj);
     $this->assertSame(['foo' => [1 => 'one', ApiResult::META_TYPE => 'assoc'], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:101,代码来源:ApiResultTest.php


注:本文中的ApiResult::setErrorFormatter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。