With a few exceptions, the last couple of weeks have been glacially slow on the development side. Some of the new work on the wiki editing side (to appear in a future version) involves a lot of Javascript, some mine, and some from various third parties.
Getting it to work is somewhat painful (i.e. I'm far from a Javascript expert), as is getting it to work across browsers (though libraries definitely help). What was far more painful though was getting the automated tests for all this working. I've been using Selenium, or more precisely a tweaked version of the small Tcl wrapper that Jean-Claude had started.
I do have to say I'm amazed at what Selenium does (or more to the point that it's actually just one big Javascript application), and it's a very handy tool. But as always with earlier-stage tools that are in rapid development, the documentation, while better than most, isn't ideal. What really takes a lot of time is figuring out the right browser idiom to use to test a particular application condition, which definitely takes a lot of trial and error. But then getting things working on one platform (Firefox) and finding most of the various idioms don't work on other platforms (e.g. Internet Explorer). Lots more trial and error, and several days later finally have a decent set of tests that runs on Firefox (Mac and Windows) and IE. I'll save Safari for another day.
On the plus side, it's very much just a learning experience... what idioms to use, how best to express things, and even little changes to the application being tested that can make it easier to work with. So moving forward will be at least incrementally better. On the negative side, it was really slow going, too much trial and error with each iteration taking up to a few minutes. The "edit-test" cycle felt uncomfortably like the "edit-compile-link-run" cycle in the bad old days of compiled languages on overly loaded, slow, shared machines.