1 个不稳定版本
使用旧的Rust 2015
0.2.0 | 2020年5月19日 |
---|
#1289 在 文本处理
300KB
6.5K SLoC
目的
本一致性包提供了跨平台的自动链接、提取和命中高亮测试用例定义。主要用于twitter-text-*库;包括Twitter管理的和社区创建的。
本一致性套件的原因是提供一个方式,以保持Twitter文本处理的各种实现以一致和互操作的方式工作。尽管任何人都可以自由地以他们选择的方式实现此逻辑,但建议开发人员使用通过此一致性套件的库。
格式
测试用例存储在YAML文件中。每个主要操作类型有一个YAML文件,在这些文件中,对于每个公开可访问的API有一个部分。每个测试用例由以下内容定义:
- description: 提供有意义的测试用例名称,用于测试失败时的错误消息。
- text: 推特的输入文本。
- expected: 对此输入文本的预期结果。
使用指南
如果你正在用不同的编程语言创建新的twitter-text库,请遵循以下几条指南:
-
创建一个测试,读取这些文件并执行测试用例。1.a. 不要将这些文件静态转换为测试用例。这些测试用例会随着时间的推移而改变。
-
确保实现所有公开可访问的API(YAML文件的键)。
-
仅公开公共API方法,而不是底层的正则表达式 3.a. 如果你的语言或环境不允许这样做,请添加注释 3.b. 这可以防止正则表达式在基本方式上需要更改时造成破坏。
提交新的一致性测试
- 你可以在GitHub仓库上分叉以添加测试并提交pull request
- 你可以在GitHub上创建一个问题
- 请确保提供示例输入和输出以及问题的简要描述。
变更日志
-
v1.4.9 - 2011-12-01 [ Git tag v1.4.9 ]
- [修复] 严格解析t.co URL
- [修复] 在换行符之前提取@提及和哈希标签
- [修复] 提取协议在ccTLD域上的斜杠URL
-
v1.4.8 - 2011-11-02 [ Git tag v1.4.8 ]
- [修复] 在CJK文本中提取无协议的URL
- [修复] 不要在哈希标签中提取URL
- [修复] 提取括号后的哈希标签
- [修复] 提取带有'?'的片段中的URL
-
v1.4.7 - 2011-10-04 [ Git标签 v1.4.7 ]
- [修复] 提取跟在标点符号后面的URL
- [修复] 在CJK文本中提取无协议的URL
- [修复] 提取带有'.'的URL
-
v1.4.5 - 2011-09-20 [ Git标签 v1.4.5 ]
- [修复] 提取无协议的URL
- [修复] 提取带有'.'、'|'和'&'的URL
-
v1.4.4 - 2011-08-05 [ Get标签 v1.4.4 ]
- [修复] 支持哈希标签中的ş (U+015F)
- [修复] 支持URL路径中的拉丁重音符号
- [修复] 添加测试以解决运行正则表达式引擎的常见原因
-
v1.4.3 - 2011-07-13 [ Git标签 v1.4.3 ]
- [修复] 包括长音符号(chouon)的日文自动链接
- [修复] 在全角感叹号之后的日文自动链接
- [修复] 包括表意文字迭代符号的日文自动链接
- [修复] 为新语言哈希标签添加带有索引的哈希标签提取测试
- [修复] 为多个拉丁哈希标签添加带有索引的哈希标签提取测试
-
v1.4.2 - 2011-07-08 [ Git标签 v1.4.2 ]
- [修复] 添加额外的日文哈希标签自动链接测试
-
v1.4.1 - 2011-05-18 [ Git标签 v1.4.1 ]
- [修复] 添加对俄语哈希标签的支持
- [修复] 添加对韩语哈希标签的支持
- [修复] 添加对日语哈希标签的支持(片假名、平假名和汉字)
- [修复] 添加对自动链接punycode域名和TLD的支持(通过punycode)
- [文档] 更新README和许可证
-
v1.3.1 - 2010-12-03 - [ Git标签 v1.3.1 ]
- [文档] 更新README,包含变更日志部分
- [修复] 自动链接以+和-结尾的路径的URL
- [修复] 提取以+和-结尾的路径的URL
-
v1.3.0 - 2010-12-03 - [ Git标签 v1.3.0 ]
- [备注] 第一个标记版本(抱歉)
- [文档] 更新README文件,包含使用指南和格式信息
- [修复] 不要自动链接无协议的URL
- [修复] 不要提取无协议的URL
-
v1.0.0 - 2010-01-21 - [ Git标签 v1.0.0 (追溯性) ]
- 初始版本
版权和许可证
Copyright 2011 Twitter, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this work except in compliance with the License.
You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
依赖关系
~5MB
~131K SLoC