diff options
21 files changed, 351 insertions, 108 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 270ed0c1a9d..78dd40c3683 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -261013,6 +261013,9 @@ "docs/reviewing-tests/email.md": [ [] ], + "docs/reviewing-tests/git.md": [ + [] + ], "docs/reviewing-tests/index.md": [ [] ], @@ -322018,6 +322021,18 @@ {} ] ], + "css/cssom/CSSGroupingRule-cssRules.html": [ + [ + "css/cssom/CSSGroupingRule-cssRules.html", + {} + ] + ], + "css/cssom/CSSGroupingRule-insertRule.html": [ + [ + "css/cssom/CSSGroupingRule-insertRule.html", + {} + ] + ], "css/cssom/CSSKeyframeRule.html": [ [ "css/cssom/CSSKeyframeRule.html", @@ -566300,7 +566315,7 @@ "reftest" ], "css/css-text/line-break/line-break-anywhere-010.html": [ - "4c4b86c15b69f7d351b92477640808e297ed74f2", + "6554bf68ce13d0f3a3f3d020c01a749aca4228dd", "reftest" ], "css/css-text/line-break/line-break-anywhere-011.html": [ @@ -566308,7 +566323,7 @@ "reftest" ], "css/css-text/line-break/line-break-anywhere-012.html": [ - "76fe279c50da6d2d429ecf19ecf2d77241aa87fa", + "2dfe6071fdfe2a2993812a28c7e1408d59da763c", "reftest" ], "css/css-text/line-break/line-break-anywhere-013.html": [ @@ -588971,6 +588986,14 @@ "ba048c58acaac5cd2550fb21cb9b6e9ee8fb0bb1", "testharness" ], + "css/cssom/CSSGroupingRule-cssRules.html": [ + "e4afd5e560fc317db0490010d692174522fafa66", + "testharness" + ], + "css/cssom/CSSGroupingRule-insertRule.html": [ + "2364465f8374bbf824e669a2e965c6ce19312c50", + "testharness" + ], "css/cssom/CSSKeyframeRule.html": [ "3f6d1821867ae42dc2e486597621fb079268e2c0", "testharness" @@ -603252,7 +603275,7 @@ "support" ], "docs/appendix/github-intro.md": [ - "d7ee052ce0e363a950f7c491a76c64cf361e9e4e", + "fae2d4e564da41b4afbe62828a1fbfc4fe1f2378", "support" ], "docs/appendix/index.md": [ @@ -603343,8 +603366,12 @@ "fbfa65d75cccca5b913da393788cd94faf637f6e", "support" ], + "docs/reviewing-tests/git.md": [ + "471edff0843ff760294838cbd9b52331c2bb351a", + "support" + ], "docs/reviewing-tests/index.md": [ - "b9f3d33eb4fda35912842dd755d900b5b723707c", + "7f0767d22f707e48d7248d39e839d97e3882c155", "support" ], "docs/running-tests/chrome.md": [ @@ -632792,7 +632819,7 @@ "support" ], "interfaces/css-conditional.idl": [ - "8f928ad48269e4bfe3f2fd797b716e4e66cb6da2", + "a57cc6c205e290fab1244e7d8f5ef087011b6800", "support" ], "interfaces/css-counter-styles.idl": [ @@ -633220,7 +633247,7 @@ "support" ], "interfaces/webrtc-stats.idl": [ - "f29e00d195e898cb6c2dfce9a82bc81fd168787a", + "29604eafc2f4bff2ab1c0790cf7411589aefc214", "support" ], "interfaces/webrtc.idl": [ @@ -657652,7 +657679,7 @@ "testharness" ], "screen-orientation/lock-unlock-check.html": [ - "129882d64f6d323d93a183d59f4744a8e888d3f1", + "8e79033e614ce3f0e9db26bc0235d517f1d5e28e", "testharness" ], "screen-orientation/onchange-event-subframe.html": [ @@ -657676,7 +657703,7 @@ "support" ], "screen-orientation/resources/orientation-utils.js": [ - "8721818bec2fadcaa3010f3c48d9e38db854f669", + "85be16c3691dcd5498e117c165f8f4b17c53064b", "support" ], "screen-orientation/resources/sandboxed-iframe-locking.html": [ diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-001.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-001.html.ini index 5d20389c8e9..5379c874c88 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-001.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-001.html.ini @@ -56,3 +56,15 @@ [background-position length(px) / events] expected: FAIL + [font-size percentage(%) / events] + expected: FAIL + + [font-size length(em) / values] + expected: FAIL + + [font-size percentage(%) / values] + expected: FAIL + + [font-size length(em) / events] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini new file mode 100644 index 00000000000..e6e1f29e274 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini @@ -0,0 +1,2 @@ +[matchMedia-display-none-iframe.html] + expected: ERROR diff --git a/tests/wpt/metadata/css/cssom/CSSGroupingRule-insertRule.html.ini b/tests/wpt/metadata/css/cssom/CSSGroupingRule-insertRule.html.ini new file mode 100644 index 00000000000..a3ae84d1edb --- /dev/null +++ b/tests/wpt/metadata/css/cssom/CSSGroupingRule-insertRule.html.ini @@ -0,0 +1,4 @@ +[CSSGroupingRule-insertRule.html] + [index not specified] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index c5e7dd9675d..93fd631970b 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,3 +312,12 @@ [<iframe>: separate response Content-Type: */* text/html] expected: FAIL + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: separate response Content-Type: text/plain */*] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index d2df9b78483..5c001592859 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -56,3 +56,6 @@ [separate text/javascript x/x] expected: FAIL + [separate text/javascript;charset=windows-1252 error text/javascript] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index ce73518c20a..b7a2aa44785 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,9 +11,9 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL - [X-Content-Type-Options%3A%20'NosniFF'] + [X-Content-Type-Options%3A%20%2Cnosniff] expected: FAIL - [X-Content-Type-Options%3A%20%2Cnosniff] + [X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini new file mode 100644 index 00000000000..dc2e45516de --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_5.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini deleted file mode 100644 index a9677391662..00000000000 --- a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[DOMContentLoaded-defer.html] - [The end: DOMContentLoaded and defer scripts] - expected: FAIL - diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index 4f17ba870c9..9442ca372a3 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -50,3 +50,9 @@ [X SNR (-183.0486244640611 dB) is not greater than or equal to 65.737. Got -183.0486244640611.] expected: FAIL + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t9.4836157560348511e-1\t9.5236867666244507e-1\t4.0071010589599609e-3\t4.2075103446311962e-3\t3.8985999999999999e-3\n\t[31\]\t9.2646563053131104e-1\t9.3139332532882690e-1\t4.9276947975158691e-3\t5.2906700783754857e-3\t3.8985999999999999e-3\n\t[32\]\t9.0087991952896118e-1\t9.0675884485244751e-1\t5.8789253234863281e-3\t6.4834496590358351e-3\t3.8985999999999999e-3\n\t[33\]\t8.7170630693435669e-1\t8.7856203317642212e-1\t6.8557262420654297e-3\t7.8033490899654511e-3\t3.8985999999999999e-3\n\t[34\]\t8.3906102180480957e-1\t8.4691369533538818e-1\t7.8526735305786133e-3\t9.2721059699818163e-3\t3.8985999999999999e-3\n\t...and 31037 more errors.\n\tMax AbsError of 3.6667328475749582e+7 at index of 20238.\n\t[20238\]\t3.6667328000000000e+7\t-4.7574958205223083e-1\t3.6667328475749582e+7\t7.7072749738588333e+7\t3.8985999999999999e-3\n\tMax RelError of 7.7072749738588333e+7 at index of 20238.\n\t[20238\]\t3.6667328000000000e+7\t-4.7574958205223083e-1\t3.6667328475749582e+7\t7.7072749738588333e+7\t3.8985999999999999e-3\n] + expected: FAIL + + [X SNR (-107.86498904709346 dB) is not greater than or equal to 65.737. Got -107.86498904709346.] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-010.html b/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-010.html index 4c4b86c15b6..6554bf68ce1 100644 --- a/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-010.html +++ b/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-010.html @@ -28,7 +28,7 @@ div { .test { color: green; width: 4ch; - white-space: break-spaces; + white-space: pre-wrap; line-break: anywhere; } </style> diff --git a/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-012.html b/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-012.html index 76fe279c50d..2dfe6071fdf 100644 --- a/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-012.html +++ b/tests/wpt/web-platform-tests/css/css-text/line-break/line-break-anywhere-012.html @@ -6,7 +6,7 @@ <link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-line-break-anywhere"> <meta name="flags" content=""> <link rel="match" href="reference/line-break-anywhere-004-ref.html"> -<meta name="assert" content="line-break:anywhere allows breaking opportunities around slash characters."> +<meta name="assert" content="line-break:anywhere allows breaking opportunities around backslash characters."> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> div { diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html new file mode 100644 index 00000000000..e4afd5e560f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html @@ -0,0 +1,54 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>CSSOM - CSSGroupingRule - cssRules</title> + <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script> + function create(t) { + var style = document.createElement('style'); + style.appendChild(document.createTextNode('@media all { * {} }')); + document.head.appendChild(style); + t.add_cleanup(function() { + document.head.removeChild(style); + }); + + assert_true(!!style.sheet, 'setup - sheet defined'); + assert_equals( + style.sheet.cssRules.length, 1, 'setup - grouping rule created' + ); + assert_equals( + style.sheet.cssRules[0].cssRules.length, 1, 'setup - rule created' + ); + return style.sheet.cssRules[0]; + } + + test(function (t) { + var groupingRule = create(t); + groupingRule.cssRules.wptMarker = 'wpt'; + + // `insertRule` is used to prompt non-conforming implementations to + // create a new CSSRuleList object. Its behavior is verified by a + // dedicated test and should not influence the result of this + // particular test. + try { + groupingRule.insertRule('.foo {}', 0); + groupingRule.insertRule('.bar {}', 0); + groupingRule.insertRule('.baz {}', 0); + } catch (err) {} + + assert_equals(groupingRule.cssRules.wptMarker, 'wpt'); + + try { + groupingRule.deleteRule('.foo {}', 0); + groupingRule.deleteRule('.bar {}', 0); + groupingRule.deleteRule('.baz {}', 0); + } catch (err) {} + + assert_equals(groupingRule.cssRules.wptMarker, 'wpt'); + }, '[SameObject] is honored'); + </script> +</head> +</html> diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html new file mode 100644 index 00000000000..2364465f837 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html @@ -0,0 +1,118 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>CSSOM - CSSGroupingRule - insertRule</title> + <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script> + function create(t) { + var style = document.createElement('style'); + style.appendChild(document.createTextNode('@media all { * {} }')); + document.head.appendChild(style); + t.add_cleanup(function() { + document.head.removeChild(style); + }); + + assert_true(!!style.sheet, 'setup - sheet defined'); + assert_equals( + style.sheet.cssRules.length, 1, 'setup - grouping rule created' + ); + assert_equals( + style.sheet.cssRules[0].cssRules.length, 1, 'setup - rule created' + ); + return style.sheet.cssRules[0]; + } + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + var result; + + result = groupingRule.insertRule('.foo {}', 0); + + assert_equals(groupingRule.cssRules.length, 2); + assert_not_equals(groupingRule.cssRules[0].cssText, first); + assert_equals(groupingRule.cssRules[1].cssText, first); + assert_equals(result, 0, 'result'); + }, 'index before first'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + var result; + + result = groupingRule.insertRule('.foo {}', 1); + + assert_equals(groupingRule.cssRules.length, 2); + assert_equals(groupingRule.cssRules[0].cssText, first); + assert_not_equals(groupingRule.cssRules[1].cssText, first); + assert_equals(result, 1); + }, 'index after final'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + var result; + + result = groupingRule.insertRule('.foo {}'); + + assert_equals(groupingRule.cssRules.length, 2); + assert_not_equals(groupingRule.cssRules[0].cssText, first); + assert_equals(groupingRule.cssRules[1].cssText, first); + assert_equals(result, 0); + }, 'index not specified'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + + assert_throws('IndexSizeError', function() { + // The syntax error is intentional; it verifies that the insertion + // index is validated prior to the CSS text. + groupingRule.insertRule('???', 2); + }); + + assert_equals(groupingRule.cssRules.length, 1); + assert_equals(groupingRule.cssRules[0].cssText, first); + }, 'index exceeds length'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + + assert_throws('SyntaxError', function() { + groupingRule.insertRule('???', 0); + }); + + assert_equals(groupingRule.cssRules.length, 1); + assert_equals(groupingRule.cssRules[0].cssText, first); + }, 'CSS parsing error'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + + assert_throws('HierarchyRequestError', function() { + groupingRule.insertRule('@import url("foo.css");', 0); + }); + + assert_equals(groupingRule.cssRules.length, 1); + assert_equals(groupingRule.cssRules[0].cssText, first); + }, 'constraint violation'); + + test(function (t) { + var groupingRule = create(t); + var first = groupingRule.cssRules[0].cssText; + + assert_throws('HierarchyRequestError', function() { + groupingRule.insertRule('@namespace url(http://www.w3.org/1999/xhtml);', 0); + }); + + assert_equals(groupingRule.cssRules.length, 1); + assert_equals(groupingRule.cssRules[0].cssText, first); + }, 'disallowed namespace rule'); + </script> +</head> +</html> diff --git a/tests/wpt/web-platform-tests/docs/appendix/github-intro.md b/tests/wpt/web-platform-tests/docs/appendix/github-intro.md index d7ee052ce0e..fae2d4e564d 100644 --- a/tests/wpt/web-platform-tests/docs/appendix/github-intro.md +++ b/tests/wpt/web-platform-tests/docs/appendix/github-intro.md @@ -298,84 +298,6 @@ different results. Recognizing when (and understanding how) to use other approaches is beyond the scope of this tutorial. [The Pro Git Book][git-book] is a free digital resource that can help you learn more. -## Working with Pull Requests as a reviewer - -In order to do a thorough review, -it is sometimes desirable to have a local copy of the tests one wishes to review. - -Reviewing tests also often results in wanting a few things to be changed. -Generally, the reviewer should ask the author to make the desired changes. -However, sometimes the original author does not respond to the requests, -or the changes are so trivial (e.g. fixing a typo) -that bothering the original author seems like a waste of time. - -Here is how to do all that. - -### Trivial cases - -If it is possible to review the tests without a local copy, -but the reviewer still wants to make some simple tweaks to the tests before merging, -it is possible to do so via the Github web UI. - -1. Open the pull request. E.g. https://github.com/web-platform-tests/wpt/pull/1234 -2. Go to the  view (e.g. https://github.com/web-platform-tests/wpt/pull/1234/files) -3. Locate the files you wish to change, and click the  icon in the upper right corner -4. Make the desired change -5. Write a commit message (including a good title) at the bottom -6. Make sure the ![Commit directly to the [name-of-the-PR-branch] branch.](../assets/commit-directly.png) radio button is selected. - - _Note: If the PR predates the introduction of this feature by Github, - or if the author of the PR has disabled write-access by reviewers to the PR branch, - this may not be available, - and your only option would be to commit to a new branch, creating a new PR._ -7. Click the  button. - - -### The Normal Way - -This is how to import the Pull Request's branch -into your existing local checkout of the repository. -If you don't have one, go [fork](#fork), [clone](#clone), and [configure](#configure-remote--upstream) it. - -1. Move into your local clone: `cd wherever-you-put-your-repo` -2. Add a remote for the PR author's repo: `git remote add <author-id> git://github.com/<author-id>/<repo-name>.git` -3. Fetch the PR: `git fetch <author-id> <name-of-the-PR-branch>` -4. Checkout that branch: `git checkout <name-of-the-PR-branch>` - - _The relevant `<author-id>`, `<repo-name>`, and `<name-of-the-PR-branch>` can be found by looking for this sentence in on the Github page of the PR: - _ - -If all you meant to do was reviewing files locally, you're all set. -If you wish to make changes to the PR branch: - -1. Make changes and [commit](#commit) normally -2. Push your changes upstream: `git push <author-id> <name-of-the-PR-branch>` - - _Note: If the PR predates the introduction of this feature by Github, - or if the author of the PR has disabled write-access by reviewers to the PR branch, - this will not work, and you will need to use the alternative described below._ - -If, instead of modifying the existing PR, you wish to make a new one based on it: - -1. Set up a new branch that contains the existing PR by doing one of the following: - 1. Create a new branch from the tip of the PR: - `git branch <your-new-branch> <name-of-the-PR-branch> && git checkout <your-new-branch>` - 2. Create a new branch from `master` and merge the PR into it: - `git branch <your-new-branch> master && git checkout <your-new-branch> && git merge <name-of-the-PR-branch>` -2. Make changes and [commit](#commit) normally -3. Push your changes to **your** repo: `git push origin <your-new-branch>` -4. Go to the Github Web UI to [submit a new Pull Request](#submit). - - _Note: You should also close the original pull request._ - -When you're done reviewing or making changes, -you can delete the branch: `git branch -d <name-of-the-PR-branch>` -(use `-D` instead of `-d` to delete a branch that has not been merged into master yet). - -If you do not expect work with more PRs from the same author, -you may also discard your connection to their repo: -`git remote remove <author-id>` - [local-setup]: ../introduction#local-setup [git]: https://git-scm.com/downloads [git-book]: https://git-scm.com/book diff --git a/tests/wpt/web-platform-tests/docs/reviewing-tests/git.md b/tests/wpt/web-platform-tests/docs/reviewing-tests/git.md new file mode 100644 index 00000000000..471edff0843 --- /dev/null +++ b/tests/wpt/web-platform-tests/docs/reviewing-tests/git.md @@ -0,0 +1,83 @@ +# Working with Pull Requests as a reviewer + +In order to do a thorough review, +it is sometimes desirable to have a local copy of the tests one wishes to review. + +Reviewing tests also often results in wanting a few things to be changed. +Generally, the reviewer should ask the author to make the desired changes. +However, sometimes the original author does not respond to the requests, +or the changes are so trivial (e.g. fixing a typo) +that bothering the original author seems like a waste of time. + +Here is how to do all that. + +## Trivial cases + +If it is possible to review the tests without a local copy, +but the reviewer still wants to make some simple tweaks to the tests before merging, +it is possible to do so via the Github web UI. + +1. Open the pull request. E.g. https://github.com/web-platform-tests/wpt/pull/1234 +2. Go to the  view (e.g. https://github.com/web-platform-tests/wpt/pull/1234/files) +3. Locate the files you wish to change, and click the  icon in the upper right corner +4. Make the desired change +5. Write a commit message (including a good title) at the bottom +6. Make sure the ![Commit directly to the [name-of-the-PR-branch] branch.](../assets/commit-directly.png) radio button is selected. + + _Note: If the PR predates the introduction of this feature by Github, + or if the author of the PR has disabled write-access by reviewers to the PR branch, + this may not be available, + and your only option would be to commit to a new branch, creating a new PR._ +7. Click the  button. + + +## The Normal Way + +This is how to import the Pull Request's branch into your existing local +checkout of the repository. If you don't have one, go [fork][fork], +[clone][clone], and [configure][configure] it. + +1. Move into your local clone: `cd wherever-you-put-your-repo` +2. Add a remote for the PR author's repo: `git remote add <author-id> git://github.com/<author-id>/<repo-name>.git` +3. Fetch the PR: `git fetch <author-id> <name-of-the-PR-branch>` +4. Checkout that branch: `git checkout <name-of-the-PR-branch>` + + _The relevant `<author-id>`, `<repo-name>`, and `<name-of-the-PR-branch>` can be found by looking for this sentence in on the Github page of the PR: + _ + +If all you meant to do was reviewing files locally, you're all set. +If you wish to make changes to the PR branch: + +1. Make changes and [commit][commit] normally +2. Push your changes upstream: `git push <author-id> <name-of-the-PR-branch>` + + _Note: If the PR predates the introduction of this feature by Github, + or if the author of the PR has disabled write-access by reviewers to the PR branch, + this will not work, and you will need to use the alternative described below._ + +If, instead of modifying the existing PR, you wish to make a new one based on it: + +1. Set up a new branch that contains the existing PR by doing one of the following: + 1. Create a new branch from the tip of the PR: + `git branch <your-new-branch> <name-of-the-PR-branch> && git checkout <your-new-branch>` + 2. Create a new branch from `master` and merge the PR into it: + `git branch <your-new-branch> master && git checkout <your-new-branch> && git merge <name-of-the-PR-branch>` +2. Make changes and [commit][commit] normally +3. Push your changes to **your** repo: `git push origin <your-new-branch>` +4. Go to the Github Web UI to [submit a new Pull Request][submit]. + + _Note: You should also close the original pull request._ + +When you're done reviewing or making changes, +you can delete the branch: `git branch -d <name-of-the-PR-branch>` +(use `-D` instead of `-d` to delete a branch that has not been merged into master yet). + +If you do not expect work with more PRs from the same author, +you may also discard your connection to their repo: +`git remote remove <author-id>` + +[clone]: ../appendix/github-intro.html#clone +[commit]: ../appendix/github-intro.html#commit +[configure]: ../appendix/github-intro.html#configure-remote-upstream +[fork]: ../appendix/github-intro.html#fork-the-test-repository +[submit]: ../appendix/github-intro.html#submit diff --git a/tests/wpt/web-platform-tests/docs/reviewing-tests/index.md b/tests/wpt/web-platform-tests/docs/reviewing-tests/index.md index b9f3d33eb4f..7f0767d22f7 100644 --- a/tests/wpt/web-platform-tests/docs/reviewing-tests/index.md +++ b/tests/wpt/web-platform-tests/docs/reviewing-tests/index.md @@ -9,6 +9,7 @@ suites, test contributions must be reviewed by a peer. checklist email + git ``` ## Test Review Policy diff --git a/tests/wpt/web-platform-tests/interfaces/css-conditional.idl b/tests/wpt/web-platform-tests/interfaces/css-conditional.idl index 8f928ad4826..a57cc6c205e 100644 --- a/tests/wpt/web-platform-tests/interfaces/css-conditional.idl +++ b/tests/wpt/web-platform-tests/interfaces/css-conditional.idl @@ -8,13 +8,6 @@ partial interface CSSRule { }; [Exposed=Window] -interface CSSGroupingRule : CSSRule { - readonly attribute CSSRuleList cssRules; - unsigned long insertRule (CSSOMString rule, unsigned long index); - void deleteRule (unsigned long index); -}; - -[Exposed=Window] interface CSSConditionRule : CSSGroupingRule { attribute CSSOMString conditionText; }; diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl index f29e00d195e..29604eafc2f 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl @@ -143,6 +143,9 @@ dictionary RTCMediaSourceStats : RTCStats { }; dictionary RTCAudioSourceStats : RTCMediaSourceStats { + double audioLevel; + double totalAudioEnergy; + double totalSamplesDuration; }; dictionary RTCVideoSourceStats : RTCMediaSourceStats { @@ -207,10 +210,7 @@ dictionary RTCVideoReceiverStats : RTCVideoHandlerStats { }; dictionary RTCAudioHandlerStats : RTCMediaHandlerStats { - double audioLevel; - double totalAudioEnergy; boolean voiceActivityFlag; - double totalSamplesDuration; }; dictionary RTCAudioSenderStats : RTCAudioHandlerStats { @@ -233,6 +233,9 @@ dictionary RTCAudioReceiverStats : RTCAudioHandlerStats { unsigned long long concealmentEvents; unsigned long long insertedSamplesForDeceleration; unsigned long long removedSamplesForAcceleration; + double audioLevel; + double totalAudioEnergy; + double totalSamplesDuration; }; dictionary RTCDataChannelStats : RTCStats { @@ -361,6 +364,12 @@ partial dictionary RTCInboundRtpStreamStats { double fractionLost; }; +partial dictionary RTCAudioHandlerStats { + double audioLevel; + double totalAudioEnergy; + double totalSamplesDuration; +}; + partial dictionary RTCVideoSenderStats { unsigned long keyFramesSent; }; diff --git a/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html index 129882d64f6..8e79033e614 100644 --- a/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html +++ b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html @@ -3,7 +3,7 @@ <script src="/resources/testharnessreport.js"></script> <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> -<script> +<script type="module"> import { getOppositeOrientation } from "/screen-orientation/resources/orientation-utils.js"; promise_test(async t => { await test_driver.bless("request full screen", () => { @@ -15,10 +15,10 @@ // This one resolves, because we are re-locking. const pMustResolve = new Promise(r => { screen.orientation.onchange = () => { - r(orientation.lock("any")); + r(screen.orientation.lock("any")); }; }); - await promise_rejects(t, new TypeError(), pMustReject); + await promise_rejects(t, "AbortError", pMustReject); await pMustResolve; screen.orientation.unlock(); return document.exitFullscreen(); diff --git a/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js index 8721818bec2..85be16c3691 100644 --- a/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js +++ b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js @@ -13,5 +13,5 @@ export async function loadIframe(src = "/screen-orientation/resources/blank.html export function getOppositeOrientation() { const { type: currentOrientation } = screen.orientation; const isPortrait = currentOrientation.includes("portrait"); - return (newOrientation = `${isPortrait ? "landscape" : "portrait"}`); + return isPortrait ? "landscape" : "portrait"; } |