Re: [html-tests] HTML: Add tests for tokenization of noopener window.open feature (#5306)

*This report has been truncated because the total content is 721938 characters in length, which is in excess of GitHub.com's limit for comments (65536 characters).

 [View the complete job log.](https://travis-ci.org/w3c/web-platform-tests/jobs/218524021)

# Firefox (nightly channel) #
Testing web-platform-tests at revision e79107ab021c815d5b73cda9d3a7230b813c0cf7
Using browser at version BuildID 20170403100136; SourceStamp 38894655c89e68bcd8f45d31a0d3005f2c2b53db
Starting 10 test iterations
## Unstable results ##


|                   Test                   |                            Subtest                            |          Results           |                                                                  Messages                                                                 |
|------------------------------------------|---------------------------------------------------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| `/fetch/api/cors/cors-filtering.html`    | `CORS filter on Set-Cookie header`                            | **FAIL: 1/10, PASS: 9/10** | `promise_test: Unhandled rejection with value: object "TypeError: NetworkError when attempting to fetch resource."`                       |
| `/storage/estimate-indexeddb.https.html` | `estimate() shows usage increase after large value is stored` | **FAIL: 1/10, PASS: 9/10** | `assert_greater_than: estimated usage should increase after object store is created expected a number greater than 187561 but got 150193` |

## All results ##
<details>
<summary>113 tests ran</summary>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/IndexedDB/parallel-cursors-upgrade.html">/IndexedDB/parallel-cursors-upgrade.html</a></summary>


|     Subtest     | Results | Messages |
|-----------------|---------|----------|
|                 | OK      |          |
| `2 cursors`     | PASS    |          |
| `10 cursors`    | PASS    |          |
| `100 cursors`   | PASS    |          |
| `1000 cursors`  | PASS    |          |
| `10000 cursors` | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/XMLHttpRequest/event-readystatechange-loaded.htm">/XMLHttpRequest/event-readystatechange-loaded.htm</a></summary>


|                                 Subtest                                  | Results | Messages |
|--------------------------------------------------------------------------|---------|----------|
|                                                                          | OK      |          |
| `XMLHttpRequest: the LOADING state change may be emitted multiple times` | PASS    |          |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html">/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html</a></summary>


|                                Subtest                                 | Results |                           Messages                          |
|------------------------------------------------------------------------|---------|-------------------------------------------------------------|
|                                                                        | OK      |                                                             |
| `Test referer header https://web-platform.test:8443/beacon/resources/` | PASS    |                                                             |
| `Test referer header http://web-platform.test:8000/beacon/resources/`  | FAIL    | `assert_true: SendBeacon Succeeded expected true got false` |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/beacon/headers/header-referrer-no-referrer.html">/beacon/headers/header-referrer-no-referrer.html</a></summary>


|                 Subtest                  | Results | Messages |
|------------------------------------------|---------|----------|
|                                          | OK      |          |
| `Test referer header /beacon/resources/` | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/beacon/headers/header-referrer-origin-when-cross-origin.html">/beacon/headers/header-referrer-origin-when-cross-origin.html</a></summary>


|                                  Subtest                                   | Results | Messages |
|----------------------------------------------------------------------------|---------|----------|
|                                                                            | OK      |          |
| `Test referer header http://web-platform.test:8000/beacon/resources/`      | PASS    |          |
| `Test referer header http://www1.web-platform.test:8000/beacon/resources/` | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/beacon/headers/header-referrer-origin.html">/beacon/headers/header-referrer-origin.html</a></summary>


|                                  Subtest                                   | Results | Messages |
|----------------------------------------------------------------------------|---------|----------|
|                                                                            | OK      |          |
| `Test referer header http://www1.web-platform.test:8000/beacon/resources/` | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/beacon/headers/header-referrer-same-origin.html">/beacon/headers/header-referrer-same-origin.html</a></summary>


|                                  Subtest                                   | Results | Messages |
|----------------------------------------------------------------------------|---------|----------|
|                                                                            | OK      |          |
| `Test referer header /beacon/resources/`                                   | PASS    |          |
| `Test referer header http://www1.web-platform.test:8000/beacon/resources/` | PASS    |          |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html">/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html</a></summary>


|                                Subtest                                 | Results |                           Messages                          |
|------------------------------------------------------------------------|---------|-------------------------------------------------------------|
|                                                                        | OK      |                                                             |
| `Test referer header https://web-platform.test:8443/beacon/resources/` | PASS    |                                                             |
| `Test referer header http://web-platform.test:8000/beacon/resources/`  | FAIL    | `assert_true: SendBeacon Succeeded expected true got false` |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/beacon/headers/header-referrer-strict-origin.https.html">/beacon/headers/header-referrer-strict-origin.https.html</a></summary>


|                                Subtest                                 | Results |                           Messages                          |
|------------------------------------------------------------------------|---------|-------------------------------------------------------------|
|                                                                        | OK      |                                                             |
| `Test referer header https://web-platform.test:8443/beacon/resources/` | PASS    |                                                             |
| `Test referer header http://web-platform.test:8000/beacon/resources/`  | FAIL    | `assert_true: SendBeacon Succeeded expected true got false` |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/beacon/headers/header-referrer-unsafe-url.https.html">/beacon/headers/header-referrer-unsafe-url.https.html</a></summary>


|                                Subtest                                | Results |                           Messages                          |
|-----------------------------------------------------------------------|---------|-------------------------------------------------------------|
|                                                                       | OK      |                                                             |
| `Test referer header http://web-platform.test:8000/beacon/resources/` | FAIL    | `assert_true: SendBeacon Succeeded expected true got false` |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/bluetooth/idl-Bluetooth.html">/bluetooth/idl-Bluetooth.html</a></summary>


|       Subtest        | Results |                  Messages                  |
|----------------------|---------|--------------------------------------------|
|                      | OK      |                                            |
| `Bluetooth IDL test` | FAIL    | `invalid 'in' operand navigator.bluetooth` |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/css-timing-1/cubic-bezier-timing-functions-output.html">/css-timing-1/cubic-bezier-timing-functions-output.html</a></summary>


|                                                     Subtest                                                      | Results | Messages |
|------------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                                  | OK      |          |
| `cubic-bezier easing with input progress greater than 1`                                                         | PASS    |          |
| `cubic-bezier easing with input progress greater than 1 and where the tangent on the upper boundary is infinity` | PASS    |          |
| `cubic-bezier easing with input progress less than 0`                                                            | PASS    |          |
| `cubic-bezier easing with input progress less than 0 and where the tangent on the lower boundary is infinity`    | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/css-timing-1/frames-timing-functions-output.html">/css-timing-1/frames-timing-functions-output.html</a></summary>


|                                                Subtest                                                | Results | Messages |
|-------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                       | OK      |          |
| `For an input progress of 0.0, the output of a frames timing function is the first frame`             | PASS    |          |
| `At a frame boundary, the output of a frames timing function is the next frame`                       | PASS    |          |
| `For an input progress of 1.0, the output of a frames timing function is the final frame`             | PASS    |          |
| `The number of frames is correctly reflected in the frames timing function output`                    | PASS    |          |
| `The number of frames is correctly reflected in the frames timing function output on CSS Transitions` | PASS    |          |
| `frames easing with input progress greater than 1`                                                    | PASS    |          |
| `frames easing with input progress greater than 1.5`                                                  | PASS    |          |
| `frames easing with input progress less than 0`                                                       | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/css-timing-1/frames-timing-functions-syntax.html">/css-timing-1/frames-timing-functions-syntax.html</a></summary>


|                                                    Subtest                                                    | Results | Messages |
|---------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                               | OK      |          |
| `The number of frames must be a positive integer greater than 1, or we fallback to the previously-set easing` | PASS    |          |
| `The serialization of frames is 'frames(n)', n is the number of frames`                                       | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/css-timing-1/step-timing-functions-output.html">/css-timing-1/step-timing-functions-output.html</a></summary>


|                        Subtest                         | Results | Messages |
|--------------------------------------------------------|---------|----------|
|                                                        | OK      |          |
| `step-start easing with input progress greater than 1` | PASS    |          |
| `step-end easing with input progress greater than 1`   | PASS    |          |
| `step-end easing with input progress greater than 2`   | PASS    |          |
| `step-start easing with input progress less than 0`    | PASS    |          |
| `step-start easing with input progress less than -1`   | PASS    |          |
| `step-end easing with input progress less than 0`      | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/dom/lists/DOMTokenList-iteration.html">/dom/lists/DOMTokenList-iteration.html</a></summary>


|                   Subtest                    | Results |                         Messages                        |
|----------------------------------------------|---------|---------------------------------------------------------|
|                                              | OK      |                                                         |
| `classList`                                  | FAIL    | `assert_array_equals: lengths differ, expected 2 got 3` |
| `classList.keys`                             | FAIL    | `assert_array_equals: lengths differ, expected 2 got 3` |
| `classList.values`                           | FAIL    | `assert_array_equals: lengths differ, expected 2 got 3` |
| `classList.entries`                          | PASS    |                                                         |
| `classList.forEach`                          | PASS    |                                                         |
| `classList inheritance from Array.prototype` | PASS    |                                                         |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/fetch/api/cors/cors-filtering-worker.html">/fetch/api/cors/cors-filtering-worker.html</a></summary>


|                                     Subtest                                     | Results | Messages |
|---------------------------------------------------------------------------------|---------|----------|
|                                                                                 | OK      |          |
| `CORS filter on Cache-Control header`                                           | PASS    | `{}`     |
| `CORS filter on Content-Language header`                                        | PASS    | `{}`     |
| `CORS filter on Content-Type header`                                            | PASS    | `{}`     |
| `CORS filter on Expires header`                                                 | PASS    | `{}`     |
| `CORS filter on Last-Modified header`                                           | PASS    | `{}`     |
| `CORS filter on Pragma header`                                                  | PASS    | `{}`     |
| `CORS filter on Age header`                                                     | PASS    | `{}`     |
| `CORS filter on Server header`                                                  | PASS    | `{}`     |
| `CORS filter on Warning header`                                                 | PASS    | `{}`     |
| `CORS filter on Content-Length header`                                          | PASS    | `{}`     |
| `CORS filter on Set-Cookie header`                                              | PASS    | `{}`     |
| `CORS filter on Set-Cookie2 header`                                             | PASS    | `{}`     |
| `CORS filter on Age header, header is exposed`                                  | PASS    | `{}`     |
| `CORS filter on Server header, header is exposed`                               | PASS    | `{}`     |
| `CORS filter on Warning header, header is exposed`                              | PASS    | `{}`     |
| `CORS filter on Content-Length header, header is exposed`                       | PASS    | `{}`     |
| `CORS filter on Set-Cookie header, header is forbidden`                         | PASS    | `{}`     |
| `CORS filter on Set-Cookie2 header, header is forbidden`                        | PASS    | `{}`     |
| `CORS filter on Set-Cookie header, header is forbidden(credentials = include)`  | PASS    | `{}`     |
| `CORS filter on Set-Cookie2 header, header is forbidden(credentials = include)` | PASS    | `{}`     |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/fetch/api/cors/cors-filtering.html">/fetch/api/cors/cors-filtering.html</a></summary>


|                                     Subtest                                     |          Results           |                                                       Messages                                                      |
|---------------------------------------------------------------------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------|
|                                                                                 | OK                         |                                                                                                                     |
| `CORS filter on Cache-Control header`                                           | PASS                       |                                                                                                                     |
| `CORS filter on Content-Language header`                                        | PASS                       |                                                                                                                     |
| `CORS filter on Content-Type header`                                            | PASS                       |                                                                                                                     |
| `CORS filter on Expires header`                                                 | PASS                       |                                                                                                                     |
| `CORS filter on Last-Modified header`                                           | PASS                       |                                                                                                                     |
| `CORS filter on Pragma header`                                                  | PASS                       |                                                                                                                     |
| `CORS filter on Age header`                                                     | PASS                       |                                                                                                                     |
| `CORS filter on Server header`                                                  | PASS                       |                                                                                                                     |
| `CORS filter on Warning header`                                                 | PASS                       |                                                                                                                     |
| `CORS filter on Content-Length header`                                          | PASS                       |                                                                                                                     |
| `CORS filter on Set-Cookie header`                                              | **FAIL: 1/10, PASS: 9/10** | `promise_test: Unhandled rejection with value: object "TypeError: NetworkError when attempting to fetch resource."` |
| `CORS filter on Set-Cookie2 header`                                             | PASS                       |                                                                                                                     |
| `CORS filter on Age header, header is exposed`                                  | PASS                       |                                                                                                                     |
| `CORS filter on Server header, header is exposed`                               | PASS                       |                                                                                                                     |
| `CORS filter on Warning header, header is exposed`                              | PASS                       |                                                                                                                     |
| `CORS filter on Content-Length header, header is exposed`                       | PASS                       |                                                                                                                     |
| `CORS filter on Set-Cookie header, header is forbidden`                         | PASS                       |                                                                                                                     |
| `CORS filter on Set-Cookie2 header, header is forbidden`                        | PASS                       |                                                                                                                     |
| `CORS filter on Set-Cookie header, header is forbidden(credentials = include)`  | PASS                       |                                                                                                                     |
| `CORS filter on Set-Cookie2 header, header is forbidden(credentials = include)` | PASS                       |                                                                                                                     |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/geolocation-API/PositionOptions.https.html">/geolocation-API/PositionOptions.https.html</a></summary>


|                                            Subtest                                            | Results | Messages |
|-----------------------------------------------------------------------------------------------|---------|----------|
|                                                                                               | TIMEOUT |          |
| `Call getCurrentPosition with wrong type for enableHighAccuracy. No exception expected.`      | PASS    |          |
| `Call watchPosition with wrong type for enableHighAccuracy. No exception expected.`           | PASS    |          |
| `PositionOptions tests`                                                                       | PASS    |          |
| `Set timeout and maximumAge to 0, check that timeout error raised (getCurrentPosition)`       | NOTRUN  |          |
| `Set timeout and maximumAge to 0, check that timeout error raised (watchPosition)`            | NOTRUN  |          |
| `Check that a negative timeout value is equivalent to a 0 timeout value (getCurrentLocation)` | NOTRUN  |          |
| `Check that a negative timeout value is equivalent to a 0 timeout value (watchPosition)`      | NOTRUN  |          |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/geolocation-API/getCurrentPosition_IDL.https.html">/geolocation-API/getCurrentPosition_IDL.https.html</a></summary>


|                   Subtest                   | Results |     Messages     |
|---------------------------------------------|---------|------------------|
|                                             | TIMEOUT |                  |
| `getCurrentPosition success callback tests` | TIMEOUT | `Test timed out` |
| `getCurrentPosition error callback tests`   | TIMEOUT | `Test timed out` |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/geolocation-API/getCurrentPosition_permission_allow.https.html">/geolocation-API/getCurrentPosition_permission_allow.https.html</a></summary>


|                                                  Subtest                                                   | Results | Messages |
|------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                            | TIMEOUT |          |
| `User allows access, check that success callback is called or error callback is called with correct code.` | NOTRUN  |          |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/geolocation-API/getCurrentPosition_permission_deny.https.html">/geolocation-API/getCurrentPosition_permission_deny.https.html</a></summary>


|                                   Subtest                                   | Results |     Messages     |
|-----------------------------------------------------------------------------|---------|------------------|
|                                                                             | TIMEOUT |                  |
| `User denies access, check that error callback is called with correct code` | TIMEOUT | `Test timed out` |

</details>
<details>
<summary><a href="https://w3c-test.org/submissions/5306/geolocation-API/watchPosition_permission_deny.https.html">/geolocation-API/watchPosition_permission_deny.https.html</a></summary>


|                                      Subtest                                       | Results | Messages |
|------------------------------------------------------------------------------------|---------|----------|
|                                                                                    | TIMEOUT |          |
| `Check that watchPosition returns synchronously before any callbacks are invoked.` | NOTRUN  |          |
| `Check that watchPosition returns a long`                                          | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/browsers/origin/cross-origin-objects/cross-origin-objects.html">/html/browsers/origin/cross-origin-objects/cross-origin-objects.html</a></summary>


|                                                       Subtest                                                       | Results | Messages |
|---------------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                                     | OK      |          |
| `Basic sanity-checking`                                                                                             | PASS    |          |
| `Basic sanity-checking (exception type)`                                                                            | PASS    |          |
| `Only whitelisted properties are accessible cross-origin`                                                           | PASS    |          |
| `Only whitelisted properties are accessible cross-origin (exception type)`                                          | PASS    |          |
| `[[GetPrototypeOf]] should return null`                                                                             | PASS    |          |
| `[[GetPrototypeOf]] should return null (exception type)`                                                            | PASS    |          |
| `[[SetPrototypeOf]] should return false`                                                                            | PASS    |          |
| `[[SetPrototypeOf]] should return false (exception type)`                                                           | PASS    |          |
| `[[IsExtensible]] should return true for cross-origin objects`                                                      | PASS    |          |
| `[[IsExtensible]] should return true for cross-origin objects (exception type)`                                     | PASS    |          |
| `[[PreventExtensions]] should throw for cross-origin objects`                                                       | PASS    |          |
| `[[PreventExtensions]] should throw for cross-origin objects (exception type)`                                      | PASS    |          |
| `[[GetOwnProperty]] - Properties on cross-origin objects should be reported |own|`                                  | PASS    |          |
| `[[GetOwnProperty]] - Properties on cross-origin objects should be reported |own| (exception type)`                 | PASS    |          |
| `[[GetOwnProperty]] - Property descriptors for cross-origin properties should be set up correctly`                  | PASS    |          |
| `[[GetOwnProperty]] - Property descriptors for cross-origin properties should be set up correctly (exception type)` | PASS    |          |
| `[[Delete]] Should throw on cross-origin objects`                                                                   | PASS    |          |
| `[[Delete]] Should throw on cross-origin objects (exception type)`                                                  | PASS    |          |
| `[[DefineOwnProperty]] Should throw for cross-origin objects`                                                       | PASS    |          |
| `[[DefineOwnProperty]] Should throw for cross-origin objects (exception type)`                                      | PASS    |          |
| `[[Enumerate]] should return an empty iterator`                                                                     | PASS    |          |
| `[[Enumerate]] should return an empty iterator (exception type)`                                                    | PASS    |          |
| `[[OwnPropertyKeys]] should return all properties from cross-origin objects`                                        | PASS    |          |
| `[[OwnPropertyKeys]] should return all properties from cross-origin objects (exception type)`                       | PASS    |          |
| `[[OwnPropertyKeys]] should return the right symbol-named properties for cross-origin objects`                      | PASS    |          |
| `[[OwnPropertyKeys]] should return the right symbol-named properties for cross-origin objects (exception type)`     | PASS    |          |
| `[[OwnPropertyKeys]] should place the symbols after the property names after the subframe indices`                  | PASS    |          |
| `[[OwnPropertyKeys]] should place the symbols after the property names after the subframe indices (exception type)` | PASS    |          |
| `A and B jointly observe the same identity for cross-origin Window and Location`                                    | PASS    |          |
| `A and B jointly observe the same identity for cross-origin Window and Location (exception type)`                   | PASS    |          |
| `Cross-origin functions get local Function.prototype`                                                               | PASS    |          |
| `Cross-origin functions get local Function.prototype (exception type)`                                              | PASS    |          |
| `Cross-origin Window accessors get local Function.prototype`                                                        | PASS    |          |
| `Cross-origin Window accessors get local Function.prototype (exception type)`                                       | PASS    |          |
| `Same-origin observers get different functions for cross-origin objects`                                            | PASS    |          |
| `Same-origin observers get different functions for cross-origin objects (exception type)`                           | PASS    |          |
| `Same-origin observers get different accessors for cross-origin Window`                                             | PASS    |          |
| `Same-origin observers get different accessors for cross-origin Window (exception type)`                            | PASS    |          |
| `Same-origin observers get different accessors for cross-origin Location`                                           | PASS    |          |
| `Same-origin observers get different accessors for cross-origin Location (exception type)`                          | PASS    |          |
| `{}.toString.call() does the right thing on cross-origin objects`                                                   | PASS    |          |
| `{}.toString.call() does the right thing on cross-origin objects (exception type)`                                  | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html">/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html</a></summary>


|                                              Subtest                                               | Results |                                                       Messages                                                      |
|----------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------|
|                                                                                                    | OK      |                                                                                                                     |
| `tokenization should skip window features separators before name`                                  | FAIL    | `assert_equals: "=noopener" should activate feature "noopener" expected null but got object "[object Window]"`      |
| `feature name should be converted to ASCII lowercase`                                              | FAIL    | `assert_equals: "NOOPENER" should activate feature "noopener" expected null but got object "[object Window]"`       |
| `after name, tokenization should skip window features separators that are not "=" or ","`          | FAIL    | `assert_equals: "noopener\n =" should activate feature "noopener" expected null but got object "[object Window]"`   |
| `Tokenizing should ignore window feature separators except "," after initial "=" and before value` | FAIL    | `assert_equals: "noopener=  yes" should activate feature "noopener" expected null but got object "[object Window]"` |
| `Tokenizing should read characters until first window feature separator as value`                  | FAIL    | `assert_equals: "noopener=noopener" should set "noopener" expected null but got object "[object Window]"`           |
| `"noopener" should be based on name (key), not value`                                              | FAIL    | `assert_equals: "noopener=false" should activate feature "noopener" expected null but got object "[object Window]"` |
| `invalid feature names should not tokenize as "noopener"`                                          | PASS    |                                                                                                                     |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/semantics/forms/textfieldselection/selection-start-end.html">/html/semantics/forms/textfieldselection/selection-start-end.html</a></summary>


|                                                                      Subtest                                                                       | Results | Messages |
|----------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                                                                    | OK      |          |
| `Sanity check for testValue length; if this fails, variou absolute offsets in the test below need to be adjusted to be less than testValue.length` | PASS    |          |
| `onselect should fire when selectionStart is changed`                                                                                              | PASS    |          |
| `onselect should fire when selectionStart is changed on input-appended`                                                                            | PASS    |          |
| `onselect should fire when selectionStart is changed on input-not-appended`                                                                        | PASS    |          |
| `onselect should fire when selectionStart is changed on input-appended-prefocused`                                                                 | PASS    |          |
| `onselect should fire when selectionStart is changed on input-not-appended-prefocused`                                                             | PASS    |          |
| `onselect should fire when selectionStart is changed on textarea-appended`                                                                         | PASS    |          |
| `onselect should fire when selectionStart is changed on textarea-not-appended`                                                                     | PASS    |          |
| `onselect should fire when selectionStart is changed on textarea-appended-prefocused`                                                              | PASS    |          |
| `onselect should fire when selectionStart is changed on textarea-not-appended-prefocused`                                                          | PASS    |          |
| `onselect should fire when selectionEnd is changed`                                                                                                | PASS    |          |
| `onselect should fire when selectionEnd is changed on input-appended`                                                                              | PASS    |          |
| `onselect should fire when selectionEnd is changed on input-not-appended`                                                                          | PASS    |          |
| `onselect should fire when selectionEnd is changed on input-appended-prefocused`                                                                   | PASS    |          |
| `onselect should fire when selectionEnd is changed on input-not-appended-prefocused`                                                               | PASS    |          |
| `onselect should fire when selectionEnd is changed on textarea-appended`                                                                           | PASS    |          |
| `onselect should fire when selectionEnd is changed on textarea-not-appended`                                                                       | PASS    |          |
| `onselect should fire when selectionEnd is changed on textarea-appended-prefocused`                                                                | PASS    |          |
| `onselect should fire when selectionEnd is changed on textarea-not-appended-prefocused`                                                            | PASS    |          |
| `Setting selectionStart to a value larger than selectionEnd should increase selectionEnd`                                                          | PASS    |          |
| `Setting selectionEnd to a value smaller than selectionStart should decrease selectionStart`                                                       | PASS    |          |
| `selectionStart edge-case values`                                                                                                                  | PASS    |          |
| `selectionEnd edge-case values`                                                                                                                    | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/semantics/forms/textfieldselection/selection-value-interactions.html">/html/semantics/forms/textfieldselection/selection-value-interactions.html</a></summary>


|                                           Subtest                                            | Results | Messages |
|----------------------------------------------------------------------------------------------|---------|----------|
|                                                                                              | OK      |          |
| `value dirty flag behavior after setRangeText on textarea not in body`                       | PASS    |          |
| `value dirty flag behavior after setRangeText on input not in body`                          | PASS    |          |
| `value dirty flag behavior after setRangeText on textarea in body`                           | PASS    |          |
| `value dirty flag behavior after setRangeText on input in body`                              | PASS    |          |
| `value dirty flag behavior after setRangeText on textarea in body with parsed default value` | PASS    |          |
| `value dirty flag behavior after setRangeText on input in body with parsed default value`    | PASS    |          |
| `value dirty flag behavior after setRangeText on focused textarea`                           | PASS    |          |
| `value dirty flag behavior after setRangeText on focused input`                              | PASS    |          |
| `value dirty flag behavior after setRangeText on focused then blurred textarea`              | PASS    |          |
| `value dirty flag behavior after setRangeText on focused then blurred input`                 | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/semantics/forms/textfieldselection/selection.html">/html/semantics/forms/textfieldselection/selection.html</a></summary>


|                             Subtest                             | Results | Messages |
|-----------------------------------------------------------------|---------|----------|
|                                                                 | OK      |          |
| `test if selection text is correct for input`                   | PASS    |          |
| `test if selection text is correct for textarea`                | PASS    |          |
| `test if non-ascii selection text is correct for input`         | PASS    |          |
| `test if non-ascii selection text is correct for textarea`      | PASS    |          |
| `test SelectionStart offset for input that is appended`         | PASS    |          |
| `test SelectionStart offset for input that is  not appended`    | PASS    |          |
| `test SelectionStart offset for textarea that is appended`      | PASS    |          |
| `test SelectionStart offset for textarea that is  not appended` | PASS    |          |
| `test SelectionEnd offset for input that is appended`           | PASS    |          |
| `test SelectionEnd offset for input that is  not appended`      | PASS    |          |
| `test SelectionEnd offset for textarea that is appended`        | PASS    |          |
| `test SelectionEnd offset for textarea that is  not appended`   | PASS    |          |
| `test SelectionDirection for input`                             | PASS    |          |
| `test SelectionDirection for textarea`                          | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html">/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html</a></summary>


|                                                                                    Subtest                                                                                    | Results | Messages |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
|                                                                                                                                                                               | OK      |          |
| `text setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`             | PASS    |          |
| `text selectionMode missing`                                                                                                                                                  | PASS    |          |
| `text selectionMode 'select'`                                                                                                                                                 | PASS    |          |
| `text selectionMode 'start'`                                                                                                                                                  | PASS    |          |
| `text selectionMode 'end'`                                                                                                                                                    | PASS    |          |
| `text selectionMode 'preserve'`                                                                                                                                               | PASS    |          |
| `text setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                            | PASS    |          |
| `text setRangeText without argument throws a type error`                                                                                                                      | PASS    |          |
| `text setRangeText fires a select event`                                                                                                                                      | PASS    |          |
| `search setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`           | PASS    |          |
| `search selectionMode missing`                                                                                                                                                | PASS    |          |
| `search selectionMode 'select'`                                                                                                                                               | PASS    |          |
| `search selectionMode 'start'`                                                                                                                                                | PASS    |          |
| `search selectionMode 'end'`                                                                                                                                                  | PASS    |          |
| `search selectionMode 'preserve'`                                                                                                                                             | PASS    |          |
| `search setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                          | PASS    |          |
| `search setRangeText without argument throws a type error`                                                                                                                    | PASS    |          |
| `search setRangeText fires a select event`                                                                                                                                    | PASS    |          |
| `tel setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`              | PASS    |          |
| `tel selectionMode missing`                                                                                                                                                   | PASS    |          |
| `tel selectionMode 'select'`                                                                                                                                                  | PASS    |          |
| `tel selectionMode 'start'`                                                                                                                                                   | PASS    |          |
| `tel selectionMode 'end'`                                                                                                                                                     | PASS    |          |
| `tel selectionMode 'preserve'`                                                                                                                                                | PASS    |          |
| `tel setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                             | PASS    |          |
| `tel setRangeText without argument throws a type error`                                                                                                                       | PASS    |          |
| `tel setRangeText fires a select event`                                                                                                                                       | PASS    |          |
| `url setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`              | PASS    |          |
| `url selectionMode missing`                                                                                                                                                   | PASS    |          |
| `url selectionMode 'select'`                                                                                                                                                  | PASS    |          |
| `url selectionMode 'start'`                                                                                                                                                   | PASS    |          |
| `url selectionMode 'end'`                                                                                                                                                     | PASS    |          |
| `url selectionMode 'preserve'`                                                                                                                                                | PASS    |          |
| `url setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                             | PASS    |          |
| `url setRangeText without argument throws a type error`                                                                                                                       | PASS    |          |
| `url setRangeText fires a select event`                                                                                                                                       | PASS    |          |
| `password setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`         | PASS    |          |
| `password selectionMode missing`                                                                                                                                              | PASS    |          |
| `password selectionMode 'select'`                                                                                                                                             | PASS    |          |
| `password selectionMode 'start'`                                                                                                                                              | PASS    |          |
| `password selectionMode 'end'`                                                                                                                                                | PASS    |          |
| `password selectionMode 'preserve'`                                                                                                                                           | PASS    |          |
| `password setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                        | PASS    |          |
| `password setRangeText without argument throws a type error`                                                                                                                  | PASS    |          |
| `password setRangeText fires a select event`                                                                                                                                  | PASS    |          |
| `display_none setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`     | PASS    |          |
| `display_none selectionMode missing`                                                                                                                                          | PASS    |          |
| `display_none selectionMode 'select'`                                                                                                                                         | PASS    |          |
| `display_none selectionMode 'start'`                                                                                                                                          | PASS    |          |
| `display_none selectionMode 'end'`                                                                                                                                            | PASS    |          |
| `display_none selectionMode 'preserve'`                                                                                                                                       | PASS    |          |
| `display_none setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                    | PASS    |          |
| `display_none setRangeText without argument throws a type error`                                                                                                              | PASS    |          |
| `display_none setRangeText fires a select event`                                                                                                                              | PASS    |          |
| `textarea setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments`         | PASS    |          |
| `textarea selectionMode missing`                                                                                                                                              | PASS    |          |
| `textarea selectionMode 'select'`                                                                                                                                             | PASS    |          |
| `textarea selectionMode 'start'`                                                                                                                                              | PASS    |          |
| `textarea selectionMode 'end'`                                                                                                                                                | PASS    |          |
| `textarea selectionMode 'preserve'`                                                                                                                                           | PASS    |          |
| `textarea setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                        | PASS    |          |
| `textarea setRangeText without argument throws a type error`                                                                                                                  | PASS    |          |
| `textarea setRangeText fires a select event`                                                                                                                                  | PASS    |          |
| `input_not_in_doc setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments` | PASS    |          |
| `input_not_in_doc selectionMode missing`                                                                                                                                      | PASS    |          |
| `input_not_in_doc selectionMode 'select'`                                                                                                                                     | PASS    |          |
| `input_not_in_doc selectionMode 'start'`                                                                                                                                      | PASS    |          |
| `input_not_in_doc selectionMode 'end'`                                                                                                                                        | PASS    |          |
| `input_not_in_doc selectionMode 'preserve'`                                                                                                                                   | PASS    |          |
| `input_not_in_doc setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception`                                                                | PASS    |          |
| `input_not_in_doc setRangeText without argument throws a type error`                                                                                                          | PASS    |          |
| `input_not_in_doc setRangeText fires a select event`                                                                                                                          | PASS    |          |

</details>
<details>
<summary><a href="http://w3c-test.org/submissions/5306/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html">/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html</a></summary>


|                               Subtest                                | Results |                                                                                Messages                                                                               |
|----------------------------------------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                      | OK      |                                                                                                                                                                       |
| `test of input.setSelectionRange`                                    | PASS    |                                                                                                                                                                       |
| `input typeof(input.setSelectionRange)'`                             | PASS    |                                                                                                                                                                       |
| `input setSelectionRange return void`                                | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(0,1)`                                       | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(0,input.value.length+1)`                    | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(input.value.length+1,input.value.length+1)` | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(input.value.length+1,1)`                    | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(2,2)`                                       | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(2,1)`                                       | PASS    |                                                                                                                                                                       |
| `input direction of setSelectionRange(0,1,"backward")`               | PASS    |                                                                                                                                                                       |
| `input direction of setSelectionRange(0,1,"forward")`                | PASS    |                                                                                                                                                                       |
| `input direction of setSelectionRange(0,1,"none")`                   | FAIL    | `assert_equals: The direction of the selection must be set to forward if direction is a case-sensitive match for the string "none" expected "none" but got "forward"` |
| `input direction of setSelectionRange(0,1,"hoge")`                   | FAIL    | `assert_equals: otherwise expected "none" but got "forward"`                                                                                                          |
| `input direction of setSelectionRange(0,1,"BACKWARD")`               | FAIL    | `assert_equals: selectionDirection should be 'none' expected "none" but got "forward"`                                                                                |
| `input direction of setSelectionRange(0,1)`                          | FAIL    | `assert_equals: if the argument is omitted expected "none" but got "forward"`                                                                                         |
| `input setSelectionRange(1,-1)`                                      | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(-1,1)`                                      | PASS    |                                                                                                                                                                       |
| `input setSelectionRange("string",1)`                                | PASS    |                                                                                                                                                                       |
| `input setSelectionRange(true,1)`                                    | PASS    |              

View on GitHub: https://github.com/w3c/web-platform-tests/pull/5306#issuecomment-291589290

Received on Tuesday, 4 April 2017 18:24:39 UTC