AsciiDoc语言项目的这个子项目托管了AsciiDoc的抽象语义图(ASG)的JSON模式。AsciiDoc ASG代表了解析后的AsciiDoc文档的语义结构和内容。TCK使用这个ASG来验证兼容的AsciiDoc实现(即,解析器)的行为。
关于架构
模式是使用JSON模式语言定义的。模式存储在此子项目根目录下的_schema.json_文件中。该模式识别了ASG的有效结构、所需和可选属性,以及预期的类型。
执行测试
在这个子项目中,通过使用[Ajv JSON schema validator](https://github.com/ajv-validator/ajv)测试方案是由测试套件测试的。要运行测试,您首先需要安装所需的依赖项:
$ npm ci
要运行自测试套件,请调用npm的`test`任务:
$ npm t
验证输出文件
TCK 断言,针对给定的 AsciiDoc 输入文档,一个实现应产生预期的 ASG。您可以使用 npm validate
任务来验证这些预期的输出文件。
$ npm run validate --dir=/path/to/tests
任务将自动选择以 -output.json 结尾的文件,并根据ASG架构对它们进行验证。
您也可以使用`validate-asg`二进制脚本来验证单个文件:
$ npx validate-asg test/fixtures/sample-1.json
验证ASG(Auto Scaling Group)的二进制脚本源代码可以在_bin/validate-asg.js_找到。