Dojo and Tapestry both use rhino to unit test javascript, but neither try to mimic the browser window.
HtmlUnit uses rhino && tries to mimic the browser. Obviously it's not a very complete implementation :) One has only to look at the mozilla source to see that spidermonkey (javascript) has a very respectable number of files, but gecko (browser) by far is king in total size. I feel bad for people using HtmlUnit, but honestly it's really something that should be brought up with the HtmlUnit developers. They were probably able to get away with this approach for a long time before "web 2.0" came on the scene, but now things have changed...I would suggest checking out http://openqa.org/ for integration testing if you must assert and traverse through html pages. Otherwise, tap 4.1 may not be a good choice for you right now if HtmlUnit is a must have. Tapestry and dojo are both running very happily in most browsers. On 7/25/06, Henri Dupre <[EMAIL PROTECTED]> wrote:
I just did a little investigation about dojo and rhino (the javascript engine used in htmlunit) and it seems that dojo supports rhino somehow. In this page http://manual.dojotoolkit.org/dojo.html, they mention rhino and there is this strange block of code: dojo.kwCompoundRequire({ common: ["dojo.io"], rhino: ["dojo.io.RhinoIO"], browser: ["dojo.io.BrowserIO", dojo.io.cookie"] }); Jesse, does this talk to you anyhow? Javascript is not my best friend so all of this is obscure to me... htmlunit support is critical for us... I started writing some tapestry tests for some of our components using the creator but this is far from the "real" test that htmlunit can do. There are many other things than can go wrong that a simple test using the creator won't find... Btw, is there a way to load templates in the creator? All the tests I've seen that far are based on mock objects so even an error in the template won't be catched... Thanks, Henri.
-- Jesse Kuhnert Tacos/Tapestry, team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind.
