- From: Robert Clary <bclary@netscape.com>
- Date: Sun, 24 Feb 2002 15:03:18 -0500
- To: Curt Arnold <carnold@houston.rr.com>
- CC: www-dom-ts@w3.org
Unfortunately, Opera is pretty bad when it comes to dynamically changing content and many of it's implementations of the DOM Style interfaces are rather unique to say the least. :-) Several DOM interfaces such as Document.createElement are defined in Opera 6 however they are not implemented as far as I can tell. If this is incorrect I would love to be educated since I have several scripts which I would love to include support for Opera. The current jsUnit depends upon HTMLElement.innerHTML to update it's status areas which pretty much limits it to using IE and Mozilla. I think that since we can not rely on the DOM to change the test harness content dynamically we should allow browsers which do not support innerHTML to use basic DOM 0 approaches such as document.write to another window or frame. You can test for the existence of innerHTML in HEAD before page onload using something like: if (document.documentElement && typeof(document.documentElement.innerHTML) != 'undefined) { // you have innerHTML } After the body tag or after page load you can use if (document.body && typeof(document.body.innerHTML) != 'undefined) { // you have innerHTML } Of course this depends upon the browser supporting the necessary properties besides innerHTML. I do not know much about Konquerer except that I get reports from users that it does support a good deal of the DOM. I unfortunately do not have a version I can test with. The approach that I would recommend except where absolutely necessary, is to use object detection as in the above and to provide fall back code for browsers which may not support the non-standard features we might wish to use to actually operate the testframe. This can also be used to make sure that browsers which are able to do so, will execute the same code paths in the tests suite itself. For example, instead of testing the browser version to determine if a Document can be created, testing for the existence of Document.implementation. Object detection and single code paths in the test suites promotes the widest range of possible browsers. All they have to do is implement the appropriate parts of the DOM, document.implementation, for example and we can allow them to create their own documents rather than relying on features of particular browsers which may not be available in general. I have begun working on modifying jsUnit to support browsers other than Mozilla and IE however have not achieved success as of yet. I like the idea of the test suite runner. It would be nice to allow a 'pure' DOM test version which used a single code path and could be used to directly compare different implementations. Bob
Received on Sunday, 24 February 2002 15:08:25 UTC