添加的内容 删除的内容
无编辑摘要 |
小 (文本替换 - 替换“的的”为“的”) |
||
(未显示同一用户的1个中间版本) | |||
第2,353行: | 第2,353行: | ||
* JSON对象会丢弃含有null值的键。 |
* JSON对象会丢弃含有null值的键。 |
||
* 不能直接分辨带有序列整数键的是JSON数组还是JSON对象。 |
* 不能直接分辨带有序列整数键的是JSON数组还是JSON对象。 |
||
* 带有序列整数键从1开始 |
* 带有序列整数键从1开始的JSON对象会被解析到作为有相同值的JSON数组的相同的表结构,尽管这些不一定总是相等,除非使用了<code>mw.text.JSON_PRESERVE_KEYS</code>。 |
||
==== mw.text.jsonEncode ==== |
==== mw.text.jsonEncode ==== |
||
第2,410行: | 第2,410行: | ||
* 以下字符:<code>"</code>、<code>&</code>、<code>'</code>、<code><</code>、<code>=</code>、<code>></code>、<code>[</code>、<code>]</code>、<code>{</code>、<code>|</code>、<code>}</code> |
* 以下字符:<code>"</code>、<code>&</code>、<code>'</code>、<code><</code>、<code>=</code>、<code>></code>、<code>[</code>、<code>]</code>、<code>{</code>、<code>|</code>、<code>}</code> |
||
* 字符串开头或新行后面 |
* 字符串开头或新行后面的以下字符:<code>#</code>、<code>*</code>、<code>:</code>、<code>;</code>、空格、制表符('\t') |
||
* 空行会有关联的新行或返回转义的字符(Blank lines will have one of the associated newline or carriage return characters escaped) |
* 空行会有关联的新行或返回转义的字符(Blank lines will have one of the associated newline or carriage return characters escaped) |
||
* 字符串开始处或新行后 |
* 字符串开始处或新行后的<code>----</code>会使得第一个<code>-</code>被转义 |
||
* <code>__</code>会使一个下划线被转义 |
* <code>__</code>会使一个下划线被转义 |
||
* <code>://</code>会使冒号被转义 |
* <code>://</code>会使冒号被转义 |
||
第3,165行: | 第3,165行: | ||
Scribunto扩展包括一个用于测试用例的基类<code>Scribunto_LuaEngineTestBase</code>,该类将针对LuaSandbox和LuaStandalone引擎运行测试。 |
Scribunto扩展包括一个用于测试用例的基类<code>Scribunto_LuaEngineTestBase</code>,该类将针对LuaSandbox和LuaStandalone引擎运行测试。 |
||
库的测试用例应该扩展这个类,并且不应该覆盖<code>static function suite()</code>。 |
库的测试用例应该扩展这个类,并且不应该覆盖<code>static function suite()</code>。 |
||
在Scribunto扩展中,测试用例应该在<code>tests/engines/LuaCommon/''Name''LibraryTest.php</code>并添加到{{phpi|ScribuntoHooks::unitTestsList()}}中的数组中(在<code>common/Hooks.php</code>中),扩展应该在自己的<code>[[Manual:Hooks/UnitTestsList|UnitTestsList]]</code>钩子函数中添加测试用例,可能取决于是否设置了<code>$wgAutoloadClasses['Scribunto_LuaEngineTestBase']</code>。 |
在Scribunto扩展中,测试用例应该在<code>tests/engines/LuaCommon/''Name''LibraryTest.php</code>并添加到{{phpi|ScribuntoHooks::unitTestsList()}}中的数组中(在<code>common/Hooks.php</code>中),扩展应该在自己的<code>[[mw:Manual:Hooks/UnitTestsList|UnitTestsList]]</code>钩子函数中添加测试用例,可能取决于是否设置了<code>$wgAutoloadClasses['Scribunto_LuaEngineTestBase']</code>。 |
||
大多数时候,制作测试用例需要做的包括: |
大多数时候,制作测试用例需要做的包括: |
||
第3,211行: | 第3,211行: | ||
有(至少)两种方式来运行PHPUnit测试: |
有(至少)两种方式来运行PHPUnit测试: |
||
# 针对核心运行phpunit,允许tests/phpunit/suites/ExtensionsTestSuite.php使用[[Manual:Hooks/UnitTestsList|UnitTestsList]]钩子找到扩展的测试。 如果您的扩展的测试类名称都包含一个唯一的组件(例如扩展的名称),则可以使用<code>--filter</code>选项以仅运行您的扩展的测试。 |
# 针对核心运行phpunit,允许tests/phpunit/suites/ExtensionsTestSuite.php使用[[mw:Manual:Hooks/UnitTestsList|UnitTestsList]]钩子找到扩展的测试。 如果您的扩展的测试类名称都包含一个唯一的组件(例如扩展的名称),则可以使用<code>--filter</code>选项以仅运行您的扩展的测试。 |
||
# 对扩展目录运行phpunit,这将获取以“Test.php”结尾的任何文件。 |
# 对扩展目录运行phpunit,这将获取以“Test.php”结尾的任何文件。 |
||