1CSS tests require a specific naming convention. This is also a good,
2but not mandatory, style to use for other tests.
3
4## File Name
5
6The file name format is ```test-topic-###.ext``` where `test-topic`
7somewhat describes the test, `###` is a zero-filled number used to
8keep the file names unique, and `ext` is typically either
9`html` or `xht`.
10
11Test filenames must also be globally unique. There cannot be multiple
12tests with the same filename, even if they are in different parent
13directories. For example, having both
14`/css-values-3/foo-001.html` and `/css-variables-1/foo-001.html`
15would not be allowed. This restriction is in place because some tools
16that use the CSS tests dump all of the test files into a single
17directory, which would cause all but one of the tests with the same
18filename to be clobbered and accidentally skipped.
19
20### test-topic
21
22`test-topic` is a short identifier that describes the test. The
23`test-topic` should avoid conjunctions, articles, and prepositions.
24It is a file name, not an English phrase: it should be as concise
25as possible.
26
27Examples:
28```
29    margin-collapsing-###.ext
30    border-solid-###.ext
31    float-clear-###.ext
32```
33
34### `###`
35
36`###` is a zero-filled number used to keep the file names unique when
37files have the same test-topic name.
38
39Note: The number format is limited to 999 cases. If you go over this
40number it is recommended that you reevaluate your test-topic name.
41
42For example, in the case of margin-collapsing there are multiple
43cases so each case could have the same test-topic but different
44numbers:
45
46```
47    margin-collapsing-001.xht
48    margin-collapsing-002.xht
49    margin-collapsing-003.xht
50```
51
52There may also be a letter affixed after the number, which can be
53used to indicate variants of a test.
54
55For example, ```float-wrap-001l.xht``` and ```float-wrap-001r.xht```
56might be left and right variants of a float test.
57
58If tests using both the unsuffixed number and the suffixed number
59exist, the suffixed tests must be subsets of the unsuffixed test.
60
61For example, if ```bidi-004``` and ```bidi-004a``` both exist,
62```bidi-004a``` must be a subset of ```bidi-004```.
63
64If the unsuffixed test is strictly the union of the suffixed tests,
65i.e. covers all aspects of the suffixed tests (such that a user agent
66passing the unsuffixed test will, by design, pass all the suffixed
67tests), then the unsuffixed test should be marked with the combo flag.
68
69If ```bidi-004a``` and ```bidi-004b``` cover all aspects of ```bidi-
70004``` (except their interaction), then bidi-004 should be given the
71combo flag.
72
73### ext
74
75`ext` is the file extension or format of the file.
76For XHTML test files, it should be `xht`.
77For HTML (non-XML) test files, it should be `html`.
78