Commit graph

324 commits

Author SHA1 Message Date
bors-servo
9f2b33c646 Auto merge of #19738 - servo:wptup, r=jdm
Update web-platform-tests

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19738)
<!-- Reviewable:end -->
2018-01-17 13:05:26 -06:00
tigercosmos
b29230bd76 implement range input sanitization 2018-01-17 16:27:21 +08:00
Anthony Ramine
4d3c932c47 Update web-platform-tests to revision c26470dac73f2df9d4822a0d3482f7eb1ebf57d9 2018-01-16 17:18:09 +01:00
Josh Matthews
2b6f573eb5 Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
tigercosmos
b43424111e implement valid Date time Local input 2018-01-07 18:31:32 +08:00
tigercosmos
54c6028033 implement valid week string 2017-12-17 16:57:01 +08:00
Jon Leighton
71a013dd50 Handle cases where selection API doesn't apply
The selection API only applies to certain <input> types:

https://html.spec.whatwg.org/multipage/#do-not-apply

This commit ensures that we handle that correctly.

Some notes:

1. TextControl::set_dom_selection_direction now calls
   set_selection_range(), which means that setting selectionDirection will
   now fire a selection event, as it should per the spec.

2. There is a test for the firing of the select event in
   tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html,
   however the test did not run due to this syntax error:

   (pid:26017) "ERROR:script::dom::bindings::error: Error at http://web-platform.test:8000/html/semantics/forms/textfieldselection/select-event.html:50:11 missing = in const declaration"

   This happens due to the us of the "for (const foo of ...)" construct.
   Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
   this should actually work, so it's somewhat unsatisfying to have to
   change the test.

4. If an <input>'s type is unset, it defaults to a text, and the
   selection API applies. Also, if an <input>'s type is set to an
   invalid value, it defaults to a text too. I've expanded the tests
   to account for this second case.
2017-12-08 21:07:05 +01:00
tigercosmos
927fd1d044 implement "Date type inputs", "Month type inputs" 2017-12-05 09:44:51 +08:00
bors-servo
eed3adc957 Auto merge of #19379 - SWW13:htmlinput_sanitize_time, r=KiChjang
Implemented sanitize_value for time input

Implemented value sanitization for `<input type=time/>`.
The value has the be valid time string (https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-time-string) or set to empty string.

---

The following test results look expected to me, but I'm not sure:
```
  ▶ Unexpected subtest result in /html/semantics/forms/the-input-element/type-change-state.html:
  │ FAIL [expected PASS] change state from time to text
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to search
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to tel
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to url
  │   → assert_equals: input.value should be foobar after change of state expected "foobar" but got ""
  │ FAIL [expected PASS] change state from time to password
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │
  │ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:53:15
  │ Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1489:20
  │ test@http://web-platform.test:8000/resources/testharness.js:511:9
  └ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:37:9

  ▶ Unexpected subtest result in /html/semantics/forms/the-input-element/type-change-state.html:
  │ FAIL [expected PASS] change state from color to time
  │   → assert_equals: input.value should be #000000 after change of state expected "#000000" but got ""
  │
  │ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:55:15
  │ Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1489:20
  │ test@http://web-platform.test:8000/resources/testharness.js:511:9
  └ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:37:9
```

All other tests do now `PASS` instead of `FAIL`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix *part of* #19172
- [x] There are tests for these changes
  - [x] All tests `PASS`

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19379)
<!-- Reviewable:end -->
2017-12-04 15:44:58 -06:00
Simon Wörner
a999239f28 Added time input sanitization:
- Implemented is_valid_time_string for DOMString.
- Use is_valid_time_string for sanitize_value with time input.
- Improved input type change test
2017-12-04 11:21:28 +01:00
ddh
79d896d474 queue event instead of immediately fire
created checks to see if parser is in use before event dispatch

changed tests to expect crash and added async style test
2017-11-30 16:18:57 +00:00
Jon Leighton
a7a5babb3a Move selection to end when textarea value is assigned
Issue #19171
2017-11-25 16:35:56 +01:00
Bastien Orivel
05c4e08d58 Add a sanitize_value implementation for the color input
I had to change the test a little bit to avoid some failures due to
color and text both having a sanitizedValue which was making the test
use the first assertion instead of the second one in some cases.

The sanitize_value implementation is pretty simple, we iterate over the
content and checks that the content is 7 characters long, that the first
character is a `#` and then that all the following characters are
hexadecimal. If all those requirements are met, we lowercase the
content, otherwise we put `#000000` in it.
2017-11-22 22:36:21 +01:00
Jon Leighton
f290cacccd Refactor selection-start-end test
Move assertions about the initial value of selection{Start,End} to their
own tests. This ensures that when one of these assertions fails, it
doesn't prevent other tests from being defined. Thus we have a clearer
view of which tests are passing or failing, since all tests get defined
regardless of which assertions fail.
2017-11-18 22:33:00 +01:00
Josh Matthews
35db26d1a9 Fix WPT lint errors. 2017-11-15 13:50:39 -05:00
Josh Matthews
c227604a2c Update web-platform-tests to revision 44702f2bc8ea98bc32b5b244f2fe63c6ce66d49d 2017-11-15 12:47:30 -05:00
Keith Yeung
8203605c04 Implement value sanitization on HTMLInputElement 2017-11-09 16:34:14 -08:00
Josh Matthews
75736751d9 Update web-platform-tests to revision 14cfa4d648cc1c853b4153268df672d21425f8c1 2017-10-30 18:26:08 -04:00
Josh Matthews
20a833eb75 Update web-platform-tests to revision e03a9b1341ae9bdb1e4fa03765257b84d26fe2f1 2017-10-16 15:03:02 -04:00
Josh Matthews
1f531f66ea Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
bors-servo
e3624e62a4 Auto merge of #18747 - jdm:serializing-childrenonly, r=jdm
Serializing childrenonly

Rebased from #17896.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14975 (github issue number if applicable).
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18747)
<!-- Reviewable:end -->
2017-10-09 11:12:53 -05:00
Stuart Nelson
c886e3ee75 Update manifest and move files 2017-10-08 11:29:49 +02:00
Jyotsna Prakash
6c0f87a1d6 ChildrenOnly -> ChildrenOnly(Option<QualName>)
use this updated type from html5ever
2017-10-07 08:05:11 -04:00
Josh Matthews
578498ba24 Update web-platform-tests to revision a46616a5b18e83587ddbbed756c7b96cbb4b015d 2017-10-05 00:42:13 +02:00
Anthony Ramine
b47331812a Properly fail in video_008.html 2017-09-29 19:16:37 +02:00
Anthony Ramine
622533ef48 Properly fail in readyState_during_playing.html 2017-09-29 19:10:08 +02:00
Anthony Ramine
d7d18fc239 Properly fail in readyState_during_loadedmetadata.html 2017-09-29 19:08:19 +02:00
Anthony Ramine
ce8fc063db Properly fail in readyState_during_loadeddata.html 2017-09-29 19:03:57 +02:00
Anthony Ramine
9856580e25 Properly fail in readyState_during_canplaythrough.html 2017-09-29 19:01:30 +02:00
Anthony Ramine
4ca5a05eed Properly fail in readyState_during_canplay.html 2017-09-29 18:59:37 +02:00
Anthony Ramine
d0020888a2 Properly fail in autoplay.html 2017-09-29 18:57:01 +02:00
Anthony Ramine
71e987951f Properly fail in paused_false_during_play.html 2017-09-29 18:53:34 +02:00
Anthony Ramine
6aa9d80a00 Properly fail in load-events-networkState.html 2017-09-29 18:53:32 +02:00
Anthony Ramine
b6e3faa317 Properly fail in autoplay-overrides-preload.html 2017-09-29 18:53:30 +02:00
Anthony Ramine
fb9d3bf350 Properly fail on error event in event_timeupdate_noautoplay.html
The tests still time out when the browser doesn't fire a timeupdate event
at all.
2017-09-29 18:53:27 +02:00
Anthony Ramine
c93b3d1639 Properly fail in event_progress_noautoplay.html 2017-09-29 18:53:21 +02:00
Anthony Ramine
97adf791cd Properly fail in event_playing.html 2017-09-29 18:53:13 +02:00
Anthony Ramine
edd3824519 Properly fail in event_play.html 2017-09-29 18:53:10 +02:00
Anthony Ramine
4b2c4aead4 Properly fail in event_pause.html 2017-09-29 18:53:06 +02:00
Anthony Ramine
7b7f66f210 Properly fail in event_order_loadedmetadata_loadeddata.html 2017-09-29 17:58:16 +02:00
Anthony Ramine
60b5b77ccb Properly fail in event_order_canplay_playing.html 2017-09-29 17:55:31 +02:00
Anthony Ramine
026130094d Properly fail in event_order_canplay_canplaythrough.html 2017-09-29 17:12:29 +02:00
Anthony Ramine
59c56de103 Properly fail in event_loadedmetadata.html 2017-09-29 17:05:40 +02:00
Anthony Ramine
9f71ac9155 Properly use test() in networkState_during_progress.html 2017-09-29 16:58:44 +02:00
Anthony Ramine
2b64c3e6c0 Properly use test() in event_order_loadstart_progress.html 2017-09-29 16:55:11 +02:00
Anthony Ramine
7bab9caafd Properly use test() in event_progress.html 2017-09-29 16:51:55 +02:00
Anthony Ramine
37f5f52049 Properly fail in event_loadedmetadata_noautoplay.html 2017-09-29 15:37:10 +02:00
Anthony Ramine
7e06d2a1be Properly fail in event_loadeddata_noautoplay.html 2017-09-29 15:37:01 +02:00
Anthony Ramine
3185a7917e Fix some shortcomings in event_loadeddata.html
Variable 'v' was undefined in second test, and both tests were missing an onerror event handler.
2017-09-29 15:36:57 +02:00
Anthony Ramine
c0040b27fd Properly fail in event_canplaythrough_noautoplay.html 2017-09-29 15:30:04 +02:00