This is the repository for a test suite for clients which claim to conform to the W3C Incremental Font Transfer specification, developed by the W3C Web Fonts working group.
Testing Plan: A document describing the planned approach to the IFT client tests.
This repository pulls in a copy of the specification to check test coverage via git submodules, so you will need to run:
# From the repository root
git submodule init
git submodule updateTo initialize the repository.
# From the repository root
make test-coverage-report.txtTo generate test coverage reports (test-coverage-report.txt) that specify which specification client conformance statements are covered and not covered.
You can automatically create and close GitHub issues for untested and tested conformance statements by running the included utility on the coverage report:
# From the repository root
python3 update_github_issues.py test-coverage-report.txtNote: To apply the changes to the GitHub repository without rate-limits and with the required permissions, set the GITHUB_TOKEN environment variable. You can use the --dry-run flag to preview the actions.
Client tests have the following dependencies:
- FontTools https://github.com/behdad/fonttools
- Bazel https://bazel.build/install
- C++ compiler (gcc/clang)
The test cases are generated as follows:
# From the repository root
make IFTClient/Tests/xhtml1/index.htmlThis will create the html client test suite, which will be found under IFTClient/