[Web Animations] Update WPT tests related to Web Animations and remove imported Mozil...
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / css / README.md
1 Introduction
2 ------------
3
4 This directory contains testsuites for CSS WG specifications, including ones
5 that do not strictly speaking define CSS features, e.g.,
6 [Geometry Interfaces](https://drafts.fxtf.org/geometry/).
7
8 The directories should be named like the specification's shortname, but without
9 any level suffix.
10
11 As the test harness relies on the largely undocumented old CSS build system,
12 this directory has a number of test requirements specific to it:
13
14  * support files for a given test must live in an adjacent `support` directory;
15
16  * tests must have a [`<link rel=help>`][spec-link] pointing to what they are
17    testing;
18
19  * for each spec so linked, test filenames must be unique; and
20
21  * support and reference files must have unique filenames within the entire
22    `css` directory.
23
24
25 vendor-imports/ Directory
26 -------------------------
27
28 vendor-imports/ is a legacy directory where third parties historically imported
29 their tests that originate and are maintained in an external repo. Files in
30 this directory should never be modified in this repo, but should go through the
31 vendor's process to be imported here.
32
33
34 Importing Old Branches
35 ----------------------
36
37 Given an old branch in git based against the old csswg-test
38 repository, it can be moved over to the merged repo in one of two
39 ways:
40
41  * (Recommended:) Rebasing on top of web-platform-tests: with the old
42    branch checked out, run `git rebase -Xsubtree=css/ origin/master`
43    (or similar, depending on the name of the upstream remote).
44
45  * Merging to web-platform-tests: with web-platform-tests' master
46    branch checked out, run `git merge -Xsubtree=css/ my_shiny_branch`
47    (or similar, depending on the name of your branch).
48
49 If you have a branch/bookmark in Mercurial, the process is more
50 complicated:
51
52  1. From the Mercurial repo, run `hg export --git -r 'outgoing()' >
53     foo.patch`. This will export all the changeset shown in `hg log -r
54     'outgoing()'`; it's recommended you check this is the right set of
55     changesets before continuing!
56
57  2. Move to the git repo, and create a new branch based on
58     web-platform-tests' master; e.g., `git checkout -b hg-import
59     origin/master` (or similar, depending on the name of the upstream
60     remote).
61
62  3. Download [hg-patch-to-git-patch][] and run `python2
63     hg-patch-to-git-patch < foo.patch > bar.patch` (where `foo.patch`
64     is the path to the `foo.patch` you exported above).
65
66  4. Run `git am --directory=css/ < bar.patch`.
67
68
69 [harness]: https://test.csswg.org/harness/
70 [spec-link]: http://web-platform-tests.org/writing-tests/css-metadata.html#specification-links
71 [hg-patch-to-git-patch]: https://raw.githubusercontent.com/mozilla/moz-git-tools/master/hg-patch-to-git-patch