CSS Text 3 test coverage report

2018-12-18

Prepared by:
Florian Rivoal (Invited Expert)

Abstract

This report evaluates the test coverage of the CSS Text Module Level 3 as it was on 2018-12-19 when the latest commit was 5fe8f5f1fa5f81031314e. It is provided for discussion only and may change at any moment. Its publication here does not imply endorsement of its contents by W3C, or the CSS-Working Group. Don’t cite this document other than as work in progress.

It takes into account tests in:

It does not include tests from:

The following sections mirror the outline of the specification itself, and each section links to the corresponding one in he specification.

Issue:

Problems other than missing spec coverage are highlighted he same as as this paragraph is.


Introduction

Tests not needed.

Module Interactions

Tests not needed.

Values

Tests not really needed.

Possible addition:

Languages and Typesetting

Tests not really needed: these are definitions, they get tested through their applications, not standalone.

Possible addition:

Characters and Letters

Tests not really needed: these are definitions, they get tested through their applications, not standalone.

Possible addition:

Transforming Text

Test only needed in subsection.

Case Transforms: the text-transform property

Overall good coverage. Very good i18n coverage.

Missing:

Possible addition:

Issue:

Test not backed up by spec:

White Space and Wrapping: the white-space property

Good overal coverage through section 4 (white space processing details) and subsections.

Missing tests:

Possible addition:

Additional WIP:

White Space Processing Details

Partial coverage.

Missing tests:

The White Space Processing Rules

Sufficient coverage. All parts of this section are well exercised.

Most tests to be found in subsections.

Phase I: Collapsing and Transformation

Sufficient coverage. All parts of this section are well exercised.

Segment Break Transformation Rules

Partial coverage.

Indirectly tested, no dedicated tests:

Missing tests:

Phase II: Trimming and Positioning

Almost sufficient coverage. Most parts of this section are well exercised.

Missing tests:

Tab Character Size: the tab-size property

Partial coverage.

Missing tests

Line Breaking and Word Boundaries

Tests not really needed: these are definitions, they get tested through their applications, not standalone.

Can be a good section to host tests for i18n requirements not covered in detail by the spec.

Possible Additions:

Issue: The following tests need to be reviewed for correctness: i18n/css3-text-line-break-baspglwj-( >002, <120) and i18n/css3-text-line-break-opclns-*

Line Breaking Details

Spotty Coverage.

Missing tests:

Untestable(?):

Issue:

Spec problems(?):

Breaking Rules for Letters: the word-break property

Partial Coverage.

Missing tests:

Covered, but could have more:

Line Breaking Strictness: the line-break property

Extensive CJK coverage.

Missing tests:

Untestable(?):

Hyphenation: the hyphens property

Spotty coverage.

Missing tests:

Overflow Wrapping: the overflow-wrap/word-wrap property

Partial coverage.

Missing tests:

Shaping Across Intra-word Breaks

Spotty Coverage.

Missing tests:

Alignment and Justification

Test only needed in subsection.

Text Alignment: the text-align shorthand

Partial Coverage.

Missing tests:

Default Text Alignment: the text-align-all property

No Tests.

Last Line Alignment: the text-align-last property

Almost no automated tests.

Justification Method: the text-justify property

Light coverage.

Note: all values (other than auto) are tested, but the tests are minimal. Not sure we can do better though.

Missing tests:

Untestable(?):

Expanding and Compressing Text

No tests.

Missing tests:

Handling Symbols and Punctuation

No tests.

Not sure what is testable though

Unexpandable Text

No tests.

Missing tests:

Cursive Scripts

No automated tests.

Minimum Requirements for auto Justification

No Tests

Spacing

Test only needed in subsections.

Word Spacing: the word-spacing property

Almost No tests.

Missing tests:

Issue

Spec Problem:

Problematic test

Tracking: the letter-spacing property

Spotty Coverage.

Missing tests:

Cursive Scripts

No Tests.

Not sure this can be tested automatically.

Shaping Across Element Boundaries

Spotty Coverage

Missing tests:

Edge Effects

Test only needed in subsection.

First Line Indentation: the text-indent property

Partial Coverage.

Missing tests:

Hanging Punctuation: the hanging-punctuation property

Spotty Coverage.

All values tested.

Missing tests:

Bidirectionality and Line Boxes

No tests.

Missing tests:

Appendix A: Text Processing Order of Operations

No Tests. Probably not needed anyway.

Appendix B: Conversion to Plaintext

No Tests.

Missing tests:

Appendix C: Default UA Stylesheet

Tests not needed.

Appendix D: Scripts and Spacing

Tests not needed?

Appendix E: Characters and Properties

No Tests.

Missing tests:

Appendix F. Tagging Content by Writing System

Partial Coverage.

Each of the diverse properties that take the content language into account is tested, except tested on text-justification:auto, but probably not testable anyway.

Missing tests:

Appendix G. Small Kana Mappings

Adequate Coverage.

Tested via the text-transform property.