Yes. I understand. I appreciate your hand-holding… I'll try to wrap my head around this a bit later…
On Apr 7, 2013, at 6:21 PM, Frédéric THOMAS wrote: > I understand very well what you mean Harbs, that's the reason I was trying to > think with you and go progressively forward with the tests, git and bug > correction. > > If it is not already too much for a start, read the following. > > The first part of the test 'setup' says reset the component with those values > waiting for the updateComplete before to execute the next step. > The second part 'body' says, send a TAB key, wait for the focusIn Event, then > press Down twice and check the result of previousValue in myNumericStepper, > myNumericStepper is defined in > U:\sources\asf\flex\sdk\mustella\tests\components\NumericStepper\swfs\NumericStepper_main_spark.mxml > for the spark one. > > Is that a bit clearer ? > Btw, I don't say my example works, it's only to show you the way. > > Doing the tests insures other people code won't break yours. > > -Fred > > -----Message d'origine----- From: Harbs > Sent: Sunday, April 07, 2013 4:59 PM > To: dev@flex.apache.org > Subject: Re: git commit: Added override to set value to ensure it is not set > to NaN > > Yeah. Easy if you know what you're looking at. To me it looks like a bit of > meaningless xml… :P > > I have a lot of new things to absorb, and it'll take me a bit of time getting > up to speed on everything… ;-) > > Harbs > > On Apr 7, 2013, at 5:51 PM, Frédéric THOMAS wrote: > >> Those tests are pretty easy, that's properties tests >> .\mustella\tests\components\NumericStepper\properties >> Just add a new one for both Mx and Spark. >> >> I guess it could be something like that: >> >> <TestCase testID="NumericStepper_value_NaN_spark" description="Test >> NumericStepper for NaN Value" keywords="[NumericStepper, value, property]"> >> >> <setup> >> >> <ResetComponent target="myNumericStepper" >> className="mx.controls.NumericStepper" waitEvent="updateComplete"/> >> >> <SetProperty target="myNumericStepper" propertyName="maximum" >> value="-1" waitEvent="updateComplete" waitTarget="myNumericStepper" /> >> >> <SetProperty target="myNumericStepper" propertyName="minimum" >> value="-100" waitEvent="updateComplete" waitTarget="myNumericStepper" /> >> >> <SetProperty target="myNumericStepper" propertyName="value" value=NaN >> waitEvent="updateComplete" waitTarget="myNumericStepper" /> >> >> <SetProperty target="myNumericStepper" propertyName="stepSize" >> value="-3" waitEvent="updateComplete" waitTarget="myNumericStepper" /> >> >> </setup> >> >> <body> >> >> <DispatchKeyEvent key="TAB" waitEvent="focusIn" >> waitTarget="myNumericStepper"/> >> >> <DispatchKeyEvent keys="[DOWN, DOWN]" /> >> >> <AssertPropertyValue target="myNumericStepper" >> propertyName="previousValue" value="-1"/> >> >> </body> >> >> </TestCase> >> >> >> -Fred >> >> -----Message d'origine----- From: Harbs >> Sent: Sunday, April 07, 2013 4:39 PM >> To: dev@flex.apache.org >> Subject: Re: git commit: Added override to set value to ensure it is not set >> to NaN >> >> Sounds good to me, but I've never created a test case, so I have no idea >> what to do. Like I just responded, I believe they already are equivalent. >> >> >> On Apr 7, 2013, at 3:29 PM, Frédéric THOMAS wrote: >> >>> One more point, none of the Mustella tests for the Mx and the Spark >>> NumericStepper have the use case of the NaN, it would be nice to add this >>> case and make them consistent, what do you think ? >>> >>> -Fred >>> >>> -----Message d'origine----- From: Frédéric THOMAS >>> Sent: Sunday, April 07, 2013 2:21 PM >>> To: dev@flex.apache.org >>> Subject: Re: git commit: Added override to set value to ensure it is not >>> set to NaN >>> >>> Ok, I just noticed the mx:NumericStepper commitProperties set it to 0 in >>> case of NaN but it never happen because the checkValidValue reset it the old >>> value in case of NaN, it means the Spart one and the Mx one are not >>> consistent, the Mx one doesn’t allows the value to be set with NaN, is this >>> the right answer to apply to the Spark one ? >>> >>> -Fred >>> >>> -----Message d'origine----- From: Harbs >>> Sent: Sunday, April 07, 2013 2:08 PM >>> To: dev@flex.apache.org >>> Subject: Re: git commit: Added override to set value to ensure it is not set >>> to NaN >>> >>> Okay. Done. >>> >>> I'll set up Mustella when I get a chance… >>> >>> On Apr 7, 2013, at 2:28 PM, Frédéric THOMAS wrote: >>> >>>> Yeah, Range allows to incr/decr in changeValueByStep, so nearestValidValue >>>> is the good place, I haven't seen before because the source code where FB >>>> took me wasn't the good function, I have to fix that, that's a pain. >>>> >>>> -Fred >>>> >>>> -----Message d'origine----- From: Harbs >>>> Sent: Sunday, April 07, 2013 1:21 PM >>>> To: dev@flex.apache.org >>>> Subject: Re: git commit: Added override to set value to ensure it is not >>>> set to NaN >>>> >>>> Yes. nearestValidValue looks like a good place to fix it. The question is, >>>> should it be in Range, Spinner (what a funny name for a base class…) or >>>> NumericStepper? >>>> >>>> I'm thinking Range make the most sense because NaN is not a valid value… >>>> >>>> On Apr 7, 2013, at 2:08 PM, Frédéric THOMAS wrote: >>>> >>>>> Sorry my bad, you are right, I was looking at another function, I don't >>>>> use usually FB and it sent me elsewhere. >>>>> >>>>> well, nearestValidValue looks to be the place. >>>>> >>>>> -Fred >>>>> >>>>> -----Message d'origine----- From: Frédéric THOMAS >>>>> Sent: Sunday, April 07, 2013 1:00 PM >>>>> To: dev@flex.apache.org >>>>> Subject: Re: git commit: Added override to set value to ensure it is not >>>>> set to NaN >>>>> >>>>> IMHO, it is more a Spinner thing as the Range doesn’t incr/decr values, >>>>> so, >>>>> it is valid to set it to a NaN value to say that's a meaningless value but >>>>> the incr/decr have currently no code to manage that situation, that's the >>>>> reason why I thing it could be the place to do it. >>>>> >>>>> What do you think ? >>>>> >>>>> -Fred >>>>> >>>>> -----Message d'origine----- From: Harbs >>>>> Sent: Sunday, April 07, 2013 12:36 PM >>>>> To: dev@flex.apache.org >>>>> Subject: Re: git commit: Added override to set value to ensure it is not >>>>> set >>>>> to NaN >>>>> >>>>> If 0 is out of range, 0 will be converted to minimum automatically. >>>>> >>>>> But you are probably right. I see no reason to not set it straight to >>>>> minimium. >>>>> >>>>> It should probably also be fixed in Range set value(). Any reason you can >>>>> think of why it should not be fixed there? >>>>> >>>>> If you agree, I'll revert NumericStepper and make the change in Range.as… >>>>> >>>>> Harbs >>>>> >>>>> On Apr 7, 2013, at 12:43 PM, Frédéric THOMAS wrote: >>>>> >>>>>> Hi Harbs, >>>>>> >>>>>> I guess you will have the opportunity to do it again. >>>>>> >>>>>> What if 0 is out of the Range ? >>>>>> >>>>>> I guess the right fix is: >>>>>> >>>>>> if(isNaN(newValue)) >>>>>> newValue = minimum; >>>>>> >>>>>> -Fred >>>>>> >>>>>> -----Message d'origine----- From: Harbs >>>>>> Sent: Sunday, April 07, 2013 11:38 AM >>>>>> To: dev@flex.apache.org >>>>>> Subject: Re: git commit: Added override to set value to ensure it is not >>>>>> set to NaN >>>>>> >>>>>> I thought it was automatically prepended because I created a branch for >>>>>> it. I see that when I deleted the branch, the JIRA number disappeared. >>>>>> Still learning git… ;-) >>>>>> >>>>>> FWIW, it was FLEX-33288 >>>>>> >>>>>> Harbs >>>>>> >>>>>> On Apr 7, 2013, at 11:57 AM, Frédéric THOMAS wrote: >>>>>> >>>>>>> Take the habit to prepend the issue id to your commit message, it is >>>>>>> useful >>>>>>> if someone wants to see the modified code from the source tab of the >>>>>>> Jira >>>>>>> issue. >>>>>>> >>>>>>> -Fred >>>>>>> >>>>>>> -----Message d'origine----- From: ha...@apache.org >>>>>>> Sent: Sunday, April 07, 2013 9:02 AM >>>>>>> To: comm...@flex.apache.org >>>>>>> Subject: git commit: Added override to set value to ensure it is not >>>>>>> set to NaN >>>>>>> >>>>>>> Updated Branches: >>>>>>> refs/heads/develop 9ec4d1780 -> 53ad8aa03 >>>>>>> >>>>>>> >>>>>>> Added override to set value to ensure it is not set to NaN >>>>>>> >>>>>>> >>>>>>> Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo >>>>>>> Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/53ad8aa0 >>>>>>> Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/53ad8aa0 >>>>>>> Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/53ad8aa0 >>>>>>> >>>>>>> Branch: refs/heads/develop >>>>>>> Commit: 53ad8aa037d29e1055ec6b532513fa50df730c81 >>>>>>> Parents: 9ec4d17 >>>>>>> Author: Harbs <ha...@in-tools.com> >>>>>>> Authored: Sun Apr 7 09:58:20 2013 +0300 >>>>>>> Committer: Harbs <ha...@in-tools.com> >>>>>>> Committed: Sun Apr 7 09:58:20 2013 +0300 >>>>>>> >>>>>>> ---------------------------------------------------------------------- >>>>>>> .../spark/src/spark/components/NumericStepper.as | 11 +++++++++++ >>>>>>> 1 files changed, 11 insertions(+), 0 deletions(-) >>>>>>> ---------------------------------------------------------------------- >>>>>>> >>>>>>> >>>>>>> http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/53ad8aa0/frameworks/projects/spark/src/spark/components/NumericStepper.as >>>>>>> ---------------------------------------------------------------------- >>>>>>> diff --git >>>>>>> a/frameworks/projects/spark/src/spark/components/NumericStepper.as >>>>>>> b/frameworks/projects/spark/src/spark/components/NumericStepper.as >>>>>>> index 36a1982..0848245 100644 >>>>>>> --- a/frameworks/projects/spark/src/spark/components/NumericStepper.as >>>>>>> +++ b/frameworks/projects/spark/src/spark/components/NumericStepper.as >>>>>>> @@ -740,6 +740,17 @@ public class NumericStepper extends Spinner >>>>>>> /** >>>>>>> * @private >>>>>>> */ >>>>>>> + override public function set value(newValue:Number):void >>>>>>> + { >>>>>>> + if(isNaN(newValue)) >>>>>>> + newValue = 0; >>>>>>> + >>>>>>> + super.value = newValue; >>>>>>> + } >>>>>>> + >>>>>>> + /** >>>>>>> + * @private >>>>>>> + */ >>>>>>> override protected function setValue(newValue:Number):void >>>>>>> { >>>>>>> super.setValue(newValue); >>>>>>> >>>>>> >>>>> >>>> >>> >> >