lyquidity/xbrl-tests

提供了一个测试框架,用于运行XBRL 2.1、XDT、XFI和公式测试套件,使用PHP的XBRL库

dev-develop 2021-10-31 11:30 UTC

This package is auto-updated.

Last update: 2024-08-29 03:31:37 UTC


README

目录

关于项目

本项目提供了一个测试框架,用于运行为XBRL 2.1、XDT、公式和函数注册表函数定义的测试套件

测试框架说明

XBRL 2.1

一些测试没有使用。XBRL处理器只对参考链接基有部分支持,因此不会为任何符合性套件运行使用或与参考链接相关的测试。这些测试包括测试291 V-12、V-13、V-14和V-15

公式

公式处理器支持一些尚未有推荐状态的规定,例如公式元组变量作用域。但是,它不支持变量实例用于多实例处理和链接的规定。

这意味着XBRL公式处理器测试框架将不包括60300(实例处理)和60400(实例链接处理)组中的测试。

链接

本项目不包括符合性套件测试。相关的套件文件可以下载

状态

XBRL 2.1 conformance XBRL dimensions conformance XBRL functions registry conformance XBRL Formulas conformance

Build status last run date

依赖关系

本项目依赖于lyquidity/XPath20lyquidity/XBRL

许可证

本项目在GPL版本3.0下发布

这意味着什么?

这意味着您可以以任何您认为合适的方式使用源代码。但是,您对所做的任何更改的源代码必须对他人开放,并且必须以与您在此项目中接收源代码相同的条款提供:在GPL v3.0许可证下。您必须将此项目的许可证包含在任何源代码的分发中,无论分发是否包含所有源代码或只是其中的一部分。例如,如果您创建了一个从本项目提供的一个类派生的类,比如一个新的分类法类,那么它就是派生类。

这并不意味着什么?

这并不意味着您创建的任何仅使用此源代码的产品必须以GPL v3.0发布。如果您创建了一个使用本项目源代码访问实例文档数据(由预算应用程序用于传输数据)的预算应用程序,那么它不是派生产品。

贡献

我们欢迎贡献。有关更多信息,请参阅我们的贡献页面。如果您选择贡献,我们将要求您同意我们的贡献者许可协议(CLA)。我们将要求您同意CLA中的条款,以确保其他用户使用的代码不会受到各种许可证和专利责任的影响。还请您审阅我们的行为准则

安装

项目可以通过composer安装。首先确保XPath 2.0项目已经安装。假设Composer已安装,并且程序快捷方式名为'composer',则安装此项目的命令为:

composer require lyquidity/xbrl-tests:dev-master --prefer-dist

或者Fork或下载仓库。还需要下载和安装XML项目。

然后您需要下载测试套件压缩文件,并将其解压缩到某个位置。在您的应用程序中,还需要添加以下名为的定义

  • CONFORMANCE_TEST_SUITE_XBRL_21_LOCATION
  • CONFORMANCE_TEST_SUITE_FORMULA_LOCATION
  • CONFORMANCE_TEST_SUITE_XDT_LOCATION
  • CONFORMANCE_TEST_SUITE_XFI_LOCATION
  • CONFORMANCE_TEST_SUITE_GENERIC_LOCATION

为这些定义赋予一个值,该值是您解压缩相应一致性测试套件压缩文件的位置。
请参阅下面的入门部分中的示例。

入门

假设您已使用composer安装了库,则此PHP应用程序将运行测试

<php
require_once __DIR__ . '/vendor/autoload.php';

// Create the location defines
define ( 'XBRL_CONF_LOCATION', '<location of the unzipped XBRL-CONF-2014-12-10.zip file>' );
define ( 'XDT_CONF_LOCATION', '<location of the unzipped XDT-CONF-CR4-2009-10-06.zip file>' );
define ( 'FORMULA_CONF_LOCATION', '<location of the unzipped FORMULA-CONF-REC-2013-09-12.zip file>' );

// Create the test defines
define( 'CONFORMANCE_TEST_SUITE_XBRL_21_LOCATION', XBRL_CONF_LOCATION );
define( 'CONFORMANCE_TEST_SUITE_XDT_LOCATION', XDT_CONF_LOCATION );
define( 'CONFORMANCE_TEST_SUITE_FORMULA_LOCATION', FORMULA_CONF_LOCATION . "tests/" );
define( 'CONFORMANCE_TEST_SUITE_XFI_LOCATION', FORMULA_CONF_LOCATION . "function-registry/" );
define( 'CONFORMANCE_TEST_SUITE_GENERIC_LOCATION', FORMULA_CONF_LOCATION . "tests/70000 Linkbase/" );

// Run each test suite.  Note that some may run for a considerable time
include __DIR__ . "/vendor/lyquidity/XBRL-tests/conformance-21.php";
include __DIR__ . "/vendor/lyquidity/XBRL-tests/conformance-xdt.php";
include __DIR__ . "/vendor/lyquidity/XBRL-tests/conformance-formulas.php";
include __DIR__ . "/vendor/lyquidity/XBRL-tests/conformance-xfi.php";
include __DIR__ . "/vendor/lyquidity/XBRL-tests/conformance-generics.php";