Re: jsUnit, Cross Browser Support, Asynchronous Data

Thank you very much for your email.  I will certainly be integrating your
changes into JsUnit.  If you like, I will work with you on the additional,
as yet not done, improvements that you list.

Concerning your point about perhaps using an array to list the test function
names instead of attempting to inspect the document: in fact that is how it
used to work until I found ways in all the browsers currently supported to
"reflect" against the Test Page.  It should be quite easy to add that
mechanism back in, ideally alongside the current one.  For example, if the
function "getTestFunctionNames()" existed, we would use that, and otherwise
use the existing way.

- Edward

----- Original Message -----
From: "Robert Clary" <bclary@netscape.com>
To: <edward@jsunit.net>
Cc: <www-dom-ts@w3.org>
Sent: Monday, April 01, 2002 8:00 AM
Subject: jsUnit, Cross Browser Support, Asynchronous Data


> Edward,
>
> I would appreciate your feedback on http://bclary.com/jsunit-modified.html
>
> The goal was to allow any browser which supports HTML 4.01 and
> ECMAScript 262-3rd Edition to be able to use jsUnit.
>
> The use of IE/NS6 only features such as innerHTML have been removed and
> the requirement to support document.getElementById has also been
> removed. To do this, I replaced the parts of the user interface which
> required updating with FRAMEs and used document.write to update the
> contents instead of HTMLElement.innerHTML. As a part of this
> modification, the script which updates the user interface has been moved
> into UiUpdater.js.
>
> This was done to extend the range of browsers which could use jsUnit.
> This is important for jsUnit's use in the DOM TS.
>
> I also modified the runTest method to allow the calling of an
> asynchronous preTest() function in test cases before any tests are
> performed in a test document. The reason for this modification was to
> allow test pages to load external documents asynchronously before
> running any tests.
>
> Other modifications include addition of DOCTYPEs, and changes in markup
> for validation purposes.
>
> The modified jsUnit runs all of the standard tests provided with the
> original jsUnit 1.2.6 on Internet Explorer 5.5 and Netscape 6/Mozilla
> 0.9.9+ on Windows 2000. Unfortunately it appears Opera still has
> problems changing the contents of frames so it times out attempting to
> load the test documents. I have reports that IE 5.13 on Macintosh does
> not run the tests. I believe this may be due to the method of test
> function discovery.  I have not tested with other browsers yet but will
> be soliciting feedback from the members of the DOM TS community.
>
> Some items I am considering but not have done yet are:
>
> Exposure of timeout parameters through the user interface
>
> Ability to continue to attempt to load a test case even after a time out.
>
> Both of these changes would be useful for when the tests are hosted on
> the network and the user has a slow connection. I have already done this
> in the runTest method for the preTest().
>
> I am also considering modifying the means by which test functions in a
> test document are exposed. While using the convention that the names of
> all test functions begin with "test" is convenient, it appears that this
> may limit the ability of other browsers such as IE 5.13 on Macintosh
> from using jsUnit. It seems that an easy approach would be to expose the
> test functions in an array which could be queried by jsUnit. This would
> eliminate this dependency and perhaps allow more browsers to use jsUnit.
>
> I hope that you find these modifications appropriate and would consider
> working with me to introduce these and perhaps some additional
> modifications into the official release of jsUnit.
>
> Bob
> --
> Bob Clary, bclary@netscape.com
> Technology Evangelist, Netscape Communications
> http://developer.netscape.com/evangelism/
>

Received on Monday, 8 April 2002 16:39:01 UTC