- From: Scott González <scott.gonzalez@gmail.com>
- Date: Thu, 24 Jul 2014 10:56:14 -0400
- To: "Asir Vedamuthu Selvasingh (MS OPEN TECH)" <asirveda@microsoft.com>
- Cc: "cathy.chan@nokia.com" <cathy.chan@nokia.com>, "public-pointer-events@w3.org" <public-pointer-events@w3.org>
- Message-ID: <CAO8i3id25rhdDzSxZ867QVnq83L2YabtFa9=DYP66_X7t-2CoQ@mail.gmail.com>
I would say that we should create the test assertions on the wiki now, otherwise it's giving a false impression of completeness. On Sun, Jul 20, 2014 at 8:11 PM, Asir Vedamuthu Selvasingh (MS OPEN TECH) < asirveda@microsoft.com> wrote: > Cathy - > > Please create a new pull request to fix #1. > > #2> setPointerCapture: added "The pointer MUST be in its active buttons > state for this method to be effective, otherwise it fails silently." > > This is covered by an existing assertion, 13.2 - "When the > setPointerCapture method is invoked, if the specified pointer is not in > active button state, then the method must have no effect on subsequent > pointer events." Please feel free to update the assertion description (to > align with spec) for 13.2. > > #5> Added touch-action: manipulation > > We have test cases in the queue. We will create a new pull request and > then add a related test assertion in the Wiki page. > > Re #3, #4, #6, #7 and #8 > > Our suggestion: it is best to start these with new pull requests and > concrete test cases. We will be happy to review these test cases. Once we > reach agreement on test cases, then it is easy to create related test > assertions in the Wiki page. > > -- Asir > > -----Original Message----- > From: cathy.chan@nokia.com [mailto:cathy.chan@nokia.com] > Sent: Thursday, July 17, 2014 3:19 PM > To: public-pointer-events@w3.org > Subject: Test Assertions gaps > > I hate to be the person that says "No, wait. We're not quite done yet" and > ruins the party, but here it goes... > > The test assertions wiki [1] was started and for the most part compiled > based on the CR version of the Pointer Events spec [2]. Since then, we've > made quite a few changes to the spec. While we've been pretty good at > removing test assertions and tests as we remove stuff from the spec, it > turns out that we haven't been as efficient in adding test assertions and > tests to reflect new additions to the spec. I went through the changes that > have been made to the spec since the CR was published, and came up with the > following list of changes that have yet to be addressed in terms of testing. > > 1. PointerEvent.width/height changed from long to double > - the test at > https://github.com/w3c/web-platform-tests/blob/master/pointerevents/pointerevent_support.js > needs to be updated. > > 2. setPointerCapture: added "The pointer MUST be in its active buttons > state for this method to be effective, otherwise it fails silently." > - Need assertion and test. > > 3. Setting pointer capture: added "If the Element on which this method is > invoked does not participate in its ownerDocument's tree, throw an > exception with the name InvalidStateError." > - Need assertion and test. > > 4. Implicit release of pointer capture: added "If the pointer capture > target override is removed from the document tree, clear the pending > pointer capture target override and pointer capture target override nodes > and fire a Pointer Event named lostpointercapture at the document." > - Need assertion and test. > > 5. Added touch-action: manipulation > - Need assertion(s) and test(s)? > * Since this is a MAY behavior, I wonder how we want to handle this. > Currently, we already have assertions and tests for touch-action: pan-x/y, > whose behaviors are also MAY statements. I think I've heard that these > tests are useful to implementators. Maybe we should find a way to keep > these tests but somehow mark them as optional. > > 6. pointerdown event: added that for input devices that do not support > hover, (in addition to the pointerover event) the pointerenter event must > also be fired prior to the pointerdown event. > - Note that this has always been the intended behavior, and was in fact > correctly specified in the description of pointerenter event. [[A user > agent MUST fire a pointer event named pointerenter when a pointing device > is moved into the hit test boundaries of an element or one of its > descendants, including as a result of a pointerdown event from a device > that does not support hover.]] > - Currently we have Assertion 2.4 that covers pointerover, including > verifying matching attributes between pointerover and pointerdown. > [[2.4 For input devices that do not support hover, a pointerover event > must precede the pointerdown event. Furthermore, the pointerType and > isPrimary attributes of the pointerover event must be the same as the > respective attributes of the corresponding pointerdown event.]] > - We also have Assertion 8.1.1 that covers pointerenter, but that does not > include verifying matching attributes. > [[8.1.1 When a pointing device that does not support hover is moved into > the hit test boundaries of an element or one of its descendants as a result > of a pointerdown event, the pointerenter event must be dispatched.]] > - We should add the checking of matching attributes to Assertion 8.1.1 and > update the test accordingly. (Ideally I would move Assertion 8.1.1 to 2.4.1 > and align it with 2.4, but I can live with it staying where it is.) > > 7. Similarly, for pointerup event: added that for input devices that do > not support hover, (in addition to the pointerout event) the pointerleave > event must also be fired after the pointerup event. > - As in the previous case, we have Assertion 3.6 that covers pointerout, > including verifying matching attributes between pointerout and pointerup. > [[3.6 For input devices that do not support hover, a pointerout event must > follow the pointerup event. Furthermore, the pointerType and isPrimary > attributes of the pointerout must be the same as the respective attributes > of the corresponding pointerup event.]] > - We also have Assertion 9.1.2 that covers pointerleave, but that does not > include verifying matching attributes. > [[9.1.2 When a pointing device that does not support hover (such as a > finger) leaves the hit test boundaries as a result of a pointerup event, > the pointerleave event must be dispatched.]] > - I would suggest we handle this in the same manner we choose to handle > the previous one. > - As an aside, we also have Assertion 7.5 which pretty much says the same > thing as Assertion 3.6, sans verifying matching attributes. > [[7.5 When touch, a device that does not support hover, after firing the > pointerup event the pointerout event must be dispatched.]] > - I would suggest striking 7.5 and updating the corresponding test to > refer to Assertion 3.6 instead. > > 8. pointercancel event: added that (in addition to the pointerout event), > the pointerleave event must also be fired after the pointercancel event. > - We have Assertion 4.3 that covers pointerout, including verifying > matching attributes between pointerout and pointercancel. > [[4.3 The pointercancel event must be followed by a pointerout event. > Furthermore, the pointerType and isPrimary attributes of the pointerout > must be the same as the respective attributes of the corresponding > pointercancel event.]] > - There is currently no assertion that covers pointerleave, so we need a > new assertion and test. > - Also, as in #7, we have a duplicate Assertion 7.6 that we can strike. > [[7.6 After firing the pointercancel event the pointerout event must be > dispatched.]] > > If folks agree that these make sense, I'd be happy to update the > assertions wiki - except for #5, which would need input from someone more > familiar with the behavior. I can also create a PR to fix the trivial stuff > (#1, updating tests to refer to correct assertions etc). > > Regards, Cathy. > > > [1] https://www.w3.org/wiki/PointerEvents/TestAssertions > [2] http://www.w3.org/TR/2013/CR-pointerevents-20130509/ > > > >
Received on Thursday, 24 July 2014 14:56:42 UTC