summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/docs/css-naming.md
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/docs/css-naming.md')
-rw-r--r--testing/web-platform/tests/docs/css-naming.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/testing/web-platform/tests/docs/css-naming.md b/testing/web-platform/tests/docs/css-naming.md
new file mode 100644
index 000000000..c508ac33f
--- /dev/null
+++ b/testing/web-platform/tests/docs/css-naming.md
@@ -0,0 +1,77 @@
+CSS tests require a specific naming convention. This is also a good,
+but not mandatory, style to use for other tests.
+
+## File Name
+
+The file name format is ```test-topic-###.ext``` where `test-topic`
+somewhat describes the test, `###` is a zero-filled number used to
+keep the file names unique, and `ext` is typically either
+`html` or `xht`.
+
+Test filenames must also be globally unique. There cannot be multiple
+tests with the same filename, even if they are in different parent
+directories. For example, having both
+`/css-values-3/foo-001.html` and `/css-variables-1/foo-001.html`
+would not be allowed. This restriction is in place because some tools
+that use the CSS tests dump all of the test files into a single
+directory, which would cause all but one of the tests with the same
+filename to be clobbered and accidentally skipped.
+
+### test-topic
+
+`test-topic` is a short identifier that describes the test. The
+`test-topic` should avoid conjunctions, articles, and prepositions.
+It is a file name, not an English phrase: it should be as concise
+as possible.
+
+Examples:
+```
+ margin-collapsing-###.ext
+ border-solid-###.ext
+ float-clear-###.ext
+```
+
+### `###`
+
+`###` is a zero-filled number used to keep the file names unique when
+files have the same test-topic name.
+
+Note: The number format is limited to 999 cases. If you go over this
+number it is recommended that you reevaluate your test-topic name.
+
+For example, in the case of margin-collapsing there are multiple
+cases so each case could have the same test-topic but different
+numbers:
+
+```
+ margin-collapsing-001.xht
+ margin-collapsing-002.xht
+ margin-collapsing-003.xht
+```
+
+There may also be a letter affixed after the number, which can be
+used to indicate variants of a test.
+
+For example, ```float-wrap-001l.xht``` and ```float-wrap-001r.xht```
+might be left and right variants of a float test.
+
+If tests using both the unsuffixed number and the suffixed number
+exist, the suffixed tests must be subsets of the unsuffixed test.
+
+For example, if ```bidi-004``` and ```bidi-004a``` both exist,
+```bidi-004a``` must be a subset of ```bidi-004```.
+
+If the unsuffixed test is strictly the union of the suffixed tests,
+i.e. covers all aspects of the suffixed tests (such that a user agent
+passing the unsuffixed test will, by design, pass all the suffixed
+tests), then the unsuffixed test should be marked with the combo flag.
+
+If ```bidi-004a``` and ```bidi-004b``` cover all aspects of ```bidi-
+004``` (except their interaction), then bidi-004 should be given the
+combo flag.
+
+### ext
+
+`ext` is the file extension or format of the file.
+For XHTML test files, it should be `xht`.
+For HTML (non-XML) test files, it should be `html`.