Congratulations. Now get some sleep. ;-) On 10/14/13 5:34 PM, "Maurice Amsellem" <maurice.amsel...@systar.com> wrote:
>GOT IT!!! (and without debugging :-) ) > >Actually, in spark DataGrid, the content is not in the DataGrid, but in >the subgridViews, so that's where the updateComplete occurs when the >dataProvider is changed. > >The UDL that is triggered in the Grid itself, related only to >selection/caret changes. > >Regarding resetDP(), I confirm what you say: >-reassigning the same instance, does nothing. >- So everything is done in the RemoveAll() and AddItem() >RemoveAll will trigger RESET, that will trigger UDL in a subGridView >And all the AddItem will trigger one consolidated ADD event (AFAIR). > >So the test case won't trigger the UDL... > >So the test case needs to wait for updateComplete on one of the subViews, >not the dataGrid itself. > >Maurice > >-----Message d'origine----- >De : Alex Harui [mailto:aha...@adobe.com] >Envoyé : mardi 15 octobre 2013 02:18 >À : dev@flex.apache.org >Objet : Re: Build failed in Jenkins: flex-sdk_mustella #470 > >Debug into the dataProvider setter. It looks like resetDP assigns the >same instance so if there is a change check in the setter then it won't >call the invalidation methods. Also check the invalidation flags to see >if they are being set or not. I would expect all of those addItem calls >to invalidate something. > >And is that RunCode the 3rd step or could this be from a different >RunCode? > >On 10/14/13 5:10 PM, "Maurice Amsellem" <maurice.amsel...@systar.com> >wrote: > >>I changed to following: >><RunCode code="FlexGlobals.topLevelApplication.dataGrid.resetDP()" >>waitEvent="updateComplete" waitTarget="dataGrid" /> >> >>Instead of : >> <RunCode code="FlexGlobals.topLevelApplication.dataGrid.resetDP()" >>waitEvent="enterFrame" waitTarget="stage"/> >> >>DataGrid_comp3.resetDP() is actually re-assigning the dataProvider, so >>this SHOULD eventually trigger an updateComplete event. >> >>Unfortunately, the test fails with : >> >>Failed RunCode(body:step 3) Timeout waiting for updateComplete from >>dataGrid >> >>Any idea ? >> >>Maurice >> >>-----Message d'origine----- >>De : Maurice Amsellem [mailto:maurice.amsel...@systar.com] >>Envoyé : mardi 15 octobre 2013 02:00 >>À : dev@flex.apache.org >>Objet : RE: Build failed in Jenkins: flex-sdk_mustella #470 >> >>>Worth trying. But can you set a breakpoint on updateDisplayList to >>>make sure it doesn't get called twice? We want to make sure the >>>deferred work doesn't force another round >of validation. >> >>I remember I did that already when manually testing the fix: I did >>several changes to the dataProvider, but only one UDL was executed. >> >>Maurice >> >>-----Message d'origine----- >>De : Alex Harui [mailto:aha...@adobe.com] Envoyé : mardi 15 octobre >>2013 >>01:55 À : dev@flex.apache.org Objet : Re: Build failed in Jenkins: >>flex-sdk_mustella #470 >> >>Worth trying. But can you set a breakpoint on updateDisplayList to >>make sure it doesn't get called twice? We want to make sure the >>deferred work doesn't force another round of validation. >> >>-Alex >> >>On 10/14/13 4:50 PM, "Maurice Amsellem" <maurice.amsel...@systar.com> >>wrote: >> >>>>Sounds like a timing issue with the tests. eg They need to wait for >>>>undateComplete event? >>> >>>In the test case below (which was one of the failing), after the DP >>>has been reset, it's waiting for the next frame: >>> >>><RunCode code="FlexGlobals.topLevelApplication.dataGrid.resetDP()" >>>waitEvent="enterFrame" waitTarget="stage"/> >>> >>>And after that, it's waiting for two more frames before comparing the >>>bitmaps... >>><WaitForEvent target="stage" eventName="enterFrame" >>>numExpectedEvents="2"/> >>> >>>So maybe I should change to waitEvent="updateComplete" so that it wait >>>until the udateDisplayList ? >>> >>> >>> >>> >>> <TestCase testID="requireSelection_test15" >>>keywords="[GridSelection,property,requireSelection ]" >>> description="Test selection is on first row/cell,reset >>>dataprovider,verify first row/cell is still selected"> >>> <setup> >>> <ResetComponent target="dataGrid" >>>className="components.DataGrid_comp3" waitEvent="updateComplete" /> >>> <WaitForEvent target="stage" eventName="enterFrame" >>>numExpectedEvents="2"/></setup> >>> <body> >>> <RunCode >>>code="FlexGlobals.topLevelApplication.dataGrid.selectionMode=GridSelec >>>t >>>ion >>>Mode.MULTIPLE_CELLS"/> >>> <AssertMethodValue >>>method="value=FlexGlobals.topLevelApplication.dataGrid.selectionContai >>>n >>>sCe >>>ll(0,0)" value="true"/> >>> <RunCode >>> code="FlexGlobals.topLevelApplication.dataGrid.resetDP()" >>>waitEvent="enterFrame" waitTarget="stage"/> >>> <AssertMethodValue >>>method="value=FlexGlobals.topLevelApplication.dataGrid.selectionContai >>>n >>>sCe >>>ll(0,0)" value="true"/> >>> <WaitForEvent target="stage" eventName="enterFrame" >>>numExpectedEvents="2"/> >>> <CompareBitmap numColorVariances="20" >>> maxColorVariance="20" >>>url="../Properties/Baselines/$testID_cell.png" target="dataGrid"/> >>> </body> >>> </TestCase> >>> >>> >>>Maurice >>> >>>-----Message d'origine----- >>>De : Justin Mclean [mailto:jus...@classsoftware.com] Envoyé : mardi 15 >>>octobre 2013 01:34 À : dev@flex.apache.org Objet : Re: Build failed in >>>Jenkins: flex-sdk_mustella #470 >>> >>>HI, >>> >>>Sounds like a timing issue with the tests. eg They need to wait for >>>undateComplete event? >>> >>>Justin >> >