Universal Acceptance: Conformance Testing of Librairies and Languages
Reference Documents
- Universal Acceptance Group
- Conformance document:
- Original UASG document: UASG018-Programming-Languages-Evaluation-Criteria.pdf and its Appendix C
- Viagenie's modifications: Redline version and its Appendix C
- Viagenie's proposed revised version and its Appendix C. Viagenie's test tool is based on this version of the document.
List of languages and libraries tested against Viagenie's test tool
Language | Name | Links | Comments | Assessment |
---|---|---|---|---|
Python | idna | ![]() ![]() |
|
This library currently passes all tests except one which is fixed by the pull request. |
Python | encodings.idna | ![]() ![]() |
This library is based on IDNA2003. We recommend to not use it nor fix it but use another library such as IDNA. | |
Python | django | ![]() ![]() |
This library passes all tests but one, solved by the pull request. | |
Rust | idna | ![]() ![]() |
The main API implements IDNA from the WHATWG URL Standard. This API includes some specifics (eg. to keep Firefox compatibility) that makes it not fully compliant with the test suite. However, when using the underlying uts46 module it is possible to get better compliance with the test suite.
|
Tests show that the library let some characters (DISALLOWED or CONTEXTJ) pass through while invalid. |
Java | Commons Validator | ![]() ![]() |
As the library validates TLD against IANA-recognized list, this library does not validate any syntactic-only checks defined in the test suite (eg. H_DNS and H_ES). In order to still execute the test suite and not be blocked by this check, the TLDs used in the various checks have been imported into the library using the updateTLDOverride() method. This will make eg. HDNS5 fails since the aim of the test is to ensure that checks are only syntactic. |
This library passes all tests defined for H_ES. This library passes all tests but one for H_DNS. |
Java | ICU | ![]() ![]() |
|
Tests show that the library let some characters (DISALLOWED or CONTEXTJ) pass through while invalid. |
Java | JRE | ![]() |
Implements IDNA2003 only. |
This library implements IDNA2003. We recommend not to use it nor fix it but use another library such as Guava or ICU. |
Java | Guava | ![]() ![]() |
|
This library passes all tests but one for H_DNS. |
Test Results
Test results of the libraries and languages listed above from our automated testing tool.