CSS Text 3 test coverage report

2023-08-25

Prepared by:
Florian Rivoal (Invited Expert)

1. Introduction

Tests

The test coverage information in this specification covers wpt/css/css-text/ and subdirectories, as well as those tests in wpt/css/CSS2/ and subdirectories that relate to this specification.


1.1. Module Interactions

Tests

Tests not needed for this section.


1.2. Value Definitions

Tests

Tests not really needed for this section; could possibly test that css-wide keywords apply to every property.


1.3. Languages and Typesetting

Tests

Tests not needed for this section: these are definitions, they get tested through their application, not by themselves.


1.4. Characters and Letters

Tests

For the most part, tests not really needed for this section: these are definitions, they get tested through their applications, by themselves. The few testable assertions that are made have coverage.

Possible additions:


1.5. Text Processing

Tests

This section has adequate coverage. Exhaustive coverage unrealistic, since this section is effectively a dependency on all of Unicode. Some tests nonetheless provided for key functionality (such as the effect of certain control characters on Arabic shaping).


2. Transforming Text

Tests

This section and its subsections have good test coverage overall, and very good i18n coverage in particular.

Missing tests:

Possible additions:


2.1. Case Transforms: the text-transform property

2.1.1. Mapping Rules

2.1.2. Order of Operations

3. White Space and Wrapping: the white-space property

Tests

This section has good overall test coverage, particularly through tests for § 4 White Space Processing & Control Characters and subsections.

Missing tests:


4. White Space Processing & Control Characters

Tests

This section has reasonably good test coverage.

Missing tests:


4.1. The White Space Processing Rules

Tests

This section has good test coverage, all parts are well exercised. Most tests to be found in subsections.


4.1.1. Phase I: Collapsing and Transformation

Tests

This section has good test coverage, all parts are well exercised.


4.1.2. Phase II: Trimming and Positioning

Tests

This section has good test coverage, all parts are well exercised.


4.1.3. Segment Break Transformation Rules

Tests

This section has reasonable test coverage, though some assertions are only tested indirectly through test for other features that rely on this, rather than by dedicated tests.


4.2. Tab Character Size: the tab-size property

Tests

This section has good test coverage.

Missing test:


5. Line Breaking and Word Boundaries

Tests

Tests mostly not needed for this section: these are definitions, they get tested through their application, not by themselves.

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


5.1. Line Breaking Details

Tests

This section has partial test coverage.

Missing tests:

Untestable(?):


5.2. Breaking Rules for Letters: the word-break property

Tests

This section has partial test coverage.

Missing tests:


5.3. Line Breaking Strictness: the line-break property

Tests

This section has extensive test coverage for CJK.

Missing tests:

Untestable(?):


5.4. Hyphenation: the hyphens property

Tests

This section has partial test coverage.

Missing tests:


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

Tests

This section has fairly good test coverage.

Missing tests:


5.6. Shaping Across Intra-word Breaks

Tests

This section has good test coverage.


6. Alignment and Justification

Tests

Tests only needed in subsections.


6.1. Text Alignment: the text-align shorthand

Tests

This section has partial test coverage.

Missing tests:


6.2. Default Text Alignment: the text-align-all property

Tests

This section lacks tests.


6.3. Last Line Alignment: the text-align-last property

Tests

This section has fairly good test coverage: all value combinations for text-align / text-align-last are exercised, except for text-align-last: match-parent (which is exercised, but in a more limited way).

Missing tests:


6.4. Justification Method: the text-justify property

Tests

This section has light test coverage. All values (other than auto) are tested, but the tests are minimal. Not sure we can do better though.

Missing text:

Untestable(?):


6.4.1. Expanding and Compressing Text

Tests

This section lacks tests.

Missing tests:


6.4.2. Handling Symbols and Punctuation

Tests

This section lacks tests. Not sure what is testable though.


6.4.3. Unexpandable Text

Tests

This section has basic test coverage.

Missing tests:


6.4.4. Cursive Scripts

Tests

This section lacks automated tests.


6.4.5. Minimum Requirements for auto Justification

Tests

This section lacks tests.


7. Spacing

Tests

Tests only needed in subsections.


7.1. Word Spacing: the word-spacing property

Tests

This section has limited test coverage.

Missing tests:


7.2. Tracking: the letter-spacing property

Tests

This section has partial test coverage.

Missing tests:


7.2.1. Cursive Scripts

Tests

This section lacks tests. Not sure automated tests are possible.


7.3. Shaping Across Element Boundaries

Tests

This section has good test coverage.


8. Edge Effects

Tests

Tests only needed in subsections.


8.1. First Line Indentation: the text-indent property

Tests

This section has adequate test coverage.


8.2. Hanging Glyphs

Tests

Test coverage TBD. Partly tested through § 8.2.1 Hanging Punctuation: the hanging-punctuation property partly through § 4.1.2 Phase II: Trimming and Positioning.


8.2.1. Hanging Punctuation: the hanging-punctuation property

Tests

This section has spotty test coverage. All values have tests.

Missing tests:


8.3. Bidirectionality and Line Boxes

Tests

This section mostly lacks tests.


Appendix A: Text Processing Order of Operations

Tests

Tests probably not needed for this section, as it is exercised through the rest of the specification.


Appendix B: Conversion to Plaintext

Tests

This section lacks tests.


Appendix C: Default UA Stylesheet

Tests

Tests not needed for this section.


Appendix D: Scripts and Spacing

Tests

Tests not needed for this section: these are definitions, they get tested through their application, not by themselves.


Appendix E: Characters and Properties

Tests

This section lacks tests.


Appendix F: Identifying the Content Writing System

Tests

This section has partial test coverage. Each of the various 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

Tests

This section has good test coverage, through the text-transform property.


Privacy Considerations

Tests

Tests not needed for this section.


Security Considerations

Tests

Tests not needed for this section.


Acknowledgements

Tests

Tests not needed for this section.


Changes

Recent Changes

Older Changes