[dojo-contributors] Dijit Intern-Conversion

Jason Voccia Jason.Voccia at mathworks.com
Mon Dec 22 11:04:39 EST 2014


Sorry, I have been remiss in responding to these emails.

RE: #18262 – Changing dijit/place may also be an option.  But when I was testing with Claro, Nihilo, and Soria – it seemed only Tundra was different.  Would you like me to submit a follow up patch moving dijit/Place, or add an additional DOHRobot test?

RE: DOH Robot
I am interested in trying to get DOHRobot running again, but will wait until it is signed with a valid cert.  I spent enough time messing with certs/self-signing trying to get it working, so I am hesitant to try again, with a valid, but untrusted cert since the valid one is coming ’soon'.  I have some more stuff to submit, but if I need to write DOHRobot tests for them, I want to make sure I have a working DOHRobot setup.

RE: General Conversion
Regarding testing, it is going to be a tough balance doing the Dijit conversion.  Just the that one file took much longer than I anticipated, and I did find some small bugs in the original tests.  Getting some additional “plugins” to make dijit testing easier is probably going to be a big win for the conversion.  I am not sure you would want to modify the code too much on a per test basis. I tried to stay as true to the original test as possible.   I do not think there is going to be a “good” way of doing the conversion, considering the back port requirements.  Getting them done “quickly” is probably the best bet, then running them “backwards” to 1.7 – and manually deleting/updating the parts of tests that are “wrong” for that version – is probably the only way to go.

Any way you cut it, it is a huge effort.

And yes, I am on dojo-contributors – just been really slow at answering the emails.


Jason



From: Bill Keese <bill at dojotoolkit.org<mailto:bill at dojotoolkit.org>>
Date: Wednesday, December 3, 2014 at 7:34 PM
To: "dojo dev." <dojo-contributors at mail.dojotoolkit.org<mailto:dojo-contributors at mail.dojotoolkit.org>>
Subject: Re: [dojo-contributors] Dijit Intern-Conversion

Jason -

I actually just checked in your change for #18262.   I forgot about testing because usually it's impractical to test styling (although I guess not in this case).   BTW, dijit/place has a padding option which defaults to 0, but perhaps it should be set to a be a few pixels by default, so that context menus (and other similar popups) don't appear under the cursor at all.

About DOH Robot, I sent some mail to the list about it a few days ago.   I'm trying to get it running better, in response to all the security restrictions that browsers and the JVM have been implementing.   I'm waiting to get the JAR signed officially but in the meantime you can try http://bill.dojotoolkit.org/DOHRobot.jar.   It seems to be working pretty well for me.

I checked out your intern conversion branch.   Thanks for working on that.  Besides the comments Dylan made, it seems good to me.   If we really wanted to go hard-core, then instead of making direct javascript calls to dijit API's like

.execute("return window.dijit.registry.byId('checked2').get('checked')")

we would instead do some query on the CSS class of a subnode of the <div> with id=checked2.  But whether or not that's better is sort-of a religious issue, as the test your originally wrote also has some merit.

About converting the Dijit tests to Intern, I don't like the idea of having a separate tests-intern directory, because it seems to really encourage losing changes made to DOH tests after they were converted.  But perhaps it's unavoidable, especially given the long amount of time that it would take to convert all the tests to Intern.

One alternative would be to convert one test at a time, deleting the DOH tests as equivalent Intern tests were checked in.   However, that's a scary approach too because:

1) There's a danger of ending up with half the tests converted and the other half never being converted.
2) More importantly, it's imperative that any test conversions get backported to the previous dojo releases (I guess back to 1.7), because otherwise backports of future bug fixes won't be feasible.   Backporting Intern tests isn't trivial because previous releases are missing bug fixes and features that the tests rely on.

Bill

PS: Jason you are on dojo-contributors right?  I didn't see your original message there, only Dylan's response.


On Tue, Dec 2, 2014 at 10:42 AM, Dylan Schiemann <dylan at dojotoolkit.org<mailto:dylan at dojotoolkit.org>> wrote:
Hi Jason,

Thanks, we're definitely open to these types of contributions.

Our goal is to land the changes for Dojo core before the end of the
year. For Dijit, there are so many tests, that I don't know if we've
decided on the right branching strategy for migrating tests.

One thing I started working on, but haven't had time to revisit in a
while, is a helper utility to make it a bit more efficient to get
references to Dijits at https://github.com/theintern/leadfoot/pull/13 .
It's intended to make
https://github.com/jvoccia/dijit/blob/intern-conversion/tests-intern/functional/menu_mouse.js#L264
easier to achieve, to something like
https://github.com/theintern/leadfoot/pull/13/files#diff-4217b9223806923d7218b96903ef1ae6R38
. There are some good suggestions in that ticket that I've not had a
chance to work on yet, so I would be very open to getting some help to
land some helper utilities to make it easier in general to work with
Dijits. My goal was to make it as easy as the APIs for referencing a DOM
node.

I would also try to find a way to change
https://github.com/jvoccia/dijit/blob/intern-conversion/tests-intern/functional/menu_mouse.js#L27-L37
to not rely on legacy dijit.* features.

I'm sure others will have additional feedback. For example, I feel like
some of these tests really rely on knowing the structure of the code
base (when really a pure functional test should be from an end user
perspective), so I'm wondering if some of them could be converted to
unit tests to reduce the complexity and number of tests, etc., but maybe
not.

Regards,
-Dylan

on 12/1/14, 12:26 (GMT-07:00) Jason Voccia said the following:
> I am new to contributing code to Dijit/Dojo, and found that DOHRobot was
> not working well in any configuration I could put together.
> It also looks like you all are moving to intern for testing from DOH.
>
> I wanted to get an automated test for #18262 before submitting so I took
> a first pass at converting the menu_mouse tests in Dijit to intern — here:
> https://github.com/jvoccia/dijit/tree/intern-conversion
> following the layout you all used for Dojo (folder called tests-intern
> off the root of the repo)
>
> Are you open to these types of contributions?
> Is there a place where you are collecting these types of changes?
> And finally if the first two questions are affirmative — Could I get
> some feedback/help on getting these tests to passing at 100%/techniques
> to simplify the testing code/or what I am doing wrong :)?
>
> Thanks!
> Jason
>

--
Dylan Schiemann
SitePen, Inc.
Dojo workshops in the US, Canada, and Europe:
http://www.sitepen.com/workshops/
SitePen Insider: http://sitepen.com/insider/
http://www.sitepen.com/

--
dojo-contributors mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20141222/d0f2720c/attachment-0001.htm 


More information about the dojo-contributors mailing list