Re: Tests for asynchronous events (10.2, 11.2)

On 09/02/2014 06:25 PM, Olli Pettay wrote:
> On 09/02/2014 05:53 PM, Olli Pettay wrote:
>> I think the issue here is that in one place the spec says got/lostpointercapture are async (sure, the table is non-normative, but still),
>> and then https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#process-pending-pointer-capture and other places in the spec say that
>> in some cases the got/lostpointercapture is dispatched in more sync manner.
>>
>> So, I think the non-normative table should says sync/async for got/lostpointercapture.
>
>
>
>
> Or am I thinking a wrong case here.
> setTimeout certainly needs two task before it is actually runs, and async events only one.

But in fact, got/lostpointercapture aren't really async, but still, setTimeout
doesn't guarantee anything here. Effectively racy test, as far as I see.



-Olli

>
>
>
>
>
> -Olli
>
>
>>
>> -Olli
>>
>>
>> On 08/22/2014 04:24 PM, Maksim Lebedev wrote:
>>> Hi folks.
>>>
>>> I am very doubt by tests of asyncronoun events.
>>> pointerevent_gotpointercapture_before_first_pointerevent-manual.html
>>> pointerevent_lostpointercapture_is_first-manual.html
>>>
>>> According specification of pointer events got/lostpointercapture events should be async.
>>>
>>> But latest changes made something, which was confusing me:
>>> https://github.com/w3c/web-platform-tests/commit/e4c7116d8cb7289b84ab2feddd7178fda23b4f5e
>>> https://github.com/w3c/web-platform-tests/commit/24577bb71789010738a0b1cd9d371a07f0f2cfe1
>>>
>>> After this changes we can find that test execute setPointerCapture (or releasePointerCapture) and
>>> after that timer is setted for changing isAsync to true. Also we can find that on gotpointercapture event
>>>
>>> (or on lostpointercaptere event) tests checks isAsync.
>>>
>>> In what sequence this items should be executed?
>>> Timer with (isAsync = true) at first. And after this gotpointercapture should be fired.
>>>
>>> Opposite. gotpointercapture should be fired at first, And only about this Timer with (isAsync = true)
>>>
>>> There is specification for timers:
>>> http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#timers
>>>
>>> I can assume that current version of tests are incorrect.
>>>
>>> And author of changes notifyed that IE didn't pass tests:
>>> https://github.com/w3c/web-platform-tests/pull/1113#issue-38207053
>>>
>>> At this point, if tests are incorrect, then tests should be changed for correct state.
>>>
>>> I can propose to delete creating timer and simply only set isAsync to true after setPointerCapture (releasePointerCapture)
>>>
>>> Please, let me know your opinion.
>>>
>>> Thanks, Maksim Lebedev.
>>>
>>
>>
>
>

Received on Tuesday, 2 September 2014 15:29:23 UTC