本文整理汇总了PHP中ApiResult::addContentValue方法的典型用法代码示例。如果您正苦于以下问题:PHP ApiResult::addContentValue方法的具体用法?PHP ApiResult::addContentValue怎么用?PHP ApiResult::addContentValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ApiResult
的用法示例。
在下文中一共展示了ApiResult::addContentValue方法的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'));
}
示例2: testInstanceDataMethods
/**
* @covers ApiResult
*/
public function testInstanceDataMethods()
{
$result = new ApiResult(8388608);
$result->addValue(null, 'setValue', '1');
$result->addValue(null, null, 'unnamed 1');
$result->addValue(null, null, 'unnamed 2');
$result->addValue(null, 'deleteValue', '2');
$result->removeValue(null, 'deleteValue');
$result->addValue(['a', 'b'], 'deleteValue', '3');
$result->removeValue(['a', 'b', 'deleteValue'], null, '3');
$result->addContentValue(null, 'setContentValue', '3');
$this->assertSame(['setValue' => '1', 'unnamed 1', 'unnamed 2', 'a' => ['b' => []], 'setContentValue' => '3', ApiResult::META_TYPE => 'assoc', ApiResult::META_CONTENT => 'setContentValue'], $result->getResultData());
$this->assertSame(20, $result->getSize());
try {
$result->addValue(null, 'setValue', '99');
$this->fail('Expected exception not thrown');
} catch (RuntimeException $ex) {
$this->assertSame('Attempting to add element setValue=99, existing value is 1', $ex->getMessage(), 'Expected exception');
}
try {
$result->addContentValue(null, 'setContentValue2', '99');
$this->fail('Expected exception not thrown');
} catch (RuntimeException $ex) {
$this->assertSame('Attempting to set content element as setContentValue2 when setContentValue ' . 'is already set as the content element', $ex->getMessage(), 'Expected exception');
}
$result->addValue(null, 'setValue', '99', ApiResult::OVERRIDE);
$this->assertSame('99', $result->getResultData(['setValue']));
$result->addContentValue(null, 'setContentValue2', '99', ApiResult::OVERRIDE);
$this->assertSame('setContentValue2', $result->getResultData([ApiResult::META_CONTENT]));
$result->reset();
$this->assertSame([ApiResult::META_TYPE => 'assoc'], $result->getResultData());
$this->assertSame(0, $result->getSize());
$result->addValue(null, 'foo', 1);
$result->addValue(null, 'bar', 1);
$result->addValue(null, 'top', '2', ApiResult::ADD_ON_TOP);
$result->addValue(null, null, '2', ApiResult::ADD_ON_TOP);
$result->addValue(null, 'bottom', '2');
$result->addValue(null, 'foo', '2', ApiResult::OVERRIDE);
$result->addValue(null, 'bar', '2', ApiResult::OVERRIDE | ApiResult::ADD_ON_TOP);
$this->assertSame([0, 'top', 'foo', 'bar', 'bottom', ApiResult::META_TYPE], array_keys($result->getResultData()));
$result->reset();
$result->addValue(null, 'foo', ['bar' => 1]);
$result->addValue(['foo', 'top'], 'x', 2, ApiResult::ADD_ON_TOP);
$result->addValue(['foo', 'bottom'], 'x', 2);
$this->assertSame(['top', 'bar', 'bottom'], array_keys($result->getResultData(['foo'])));
$result->reset();
$result->addValue(null, 'sub', ['foo' => 1]);
$result->addValue(null, 'sub', ['bar' => 1]);
$this->assertSame(['sub' => ['foo' => 1, 'bar' => 1], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
try {
$result->addValue(null, 'sub', ['foo' => 2, 'baz' => 2]);
$this->fail('Expected exception not thrown');
} catch (RuntimeException $ex) {
$this->assertSame('Conflicting keys (foo) when attempting to merge element sub', $ex->getMessage(), 'Expected exception');
}
$result->reset();
$title = Title::newFromText("MediaWiki:Foobar");
$obj = new stdClass();
$obj->foo = 1;
$obj->bar = 2;
$result->addValue(null, 'title', $title);
$result->addValue(null, 'obj', $obj);
$this->assertSame(['title' => (string) $title, 'obj' => ['foo' => 1, 'bar' => 2, ApiResult::META_TYPE => 'assoc'], ApiResult::META_TYPE => 'assoc'], $result->getResultData());
$fh = tmpfile();
try {
$result->addValue(null, 'file', $fh);
$this->fail('Expected exception not thrown');
} catch (InvalidArgumentException $ex) {
$this->assertSame('Cannot add resource(stream) to ApiResult', $ex->getMessage(), 'Expected exception');
}
try {
$result->addValue(null, null, $fh);
$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, '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');
}
//.........这里部分代码省略.........