Just a quick notification that I’ve updated my squeak image. I do this occasionally to keep my base up to date with the latest and greatest of the frameworks I use.
In this update I loaded Albatross, a great new testing framework for Seaside that lets you write SUnit Tests against Seaside apps like this little test for the blog I built in a previous post…
testAddPost
| body |
body := Random sentenceMaxWords: 200.
browser
click: 'New Post';
enter: Random sentence for: 'Title:';
enter: body for: 'Body:';
click: 'Save'.
self assert: (browser textExists: body)
This test automates the browser just like Ruby’s Watir or Selenium so all your Ajax code will be tested, but IMHO, has a much nicer test API, thanks to Smalltalk.
I also fixed a bug in the refactoring browser in my image that was causing a DNU on renaming a method. I fixed up my two refactoring additions to the browser for creating accessors with Magritte descriptors on the class side. The collaboration accessor now produces simpler and more useable code, I removed some unnecessary experimental code I was generating and forgot to take out. Made a couple small changes to my garbageCollect method to be compatible with 3.9, and finally, I updated all libraries to the current versions I’m using in my own development and production images.
I’m still using a 3.8.1 image, but I’ll probably be upgrading to 3.9 soon, I’ve got a working image that contains my enhancements, which took a bit of hacking and merging to get going.
I use a custom port of Monticello and rely heavily on its dependency mechanism to properly load dependent packages. The default mechanism doesn’t work correctly IMHO, and I haven’t yet had the time to tackle learning Monticello configurations, nor have I found any good documentation on it. The version of Monticello in 3.9 is different from 3.8, and not as good IMHO. I can no longer see my dependencies because the packages no long have tree controls listing the dependencies. The tool bar is messed up and gets huge when you maximize a window, a side effect of some changes in ToolBuilder I think, but I could be wrong.
The KeyBinder can no longer be configured to use right click to edit key bindings because right clicking now brings up some other menu globally. Now I have to deal with the KeyBinder popping up every time I accidentally hover over it, an annoyance but something I can live with.
I hacked through a broken installer and got Andreas’s Win32 Native fonts working, which to me, is the one thing that really makes Squeak feel right and usable. A couple hacks to SystemWindow to get the border width down to a reasonable 2px and a few more to fix those annoying floating corner grips which get out of whack when you mess with the border width.
All in all, I’m a bit annoyed by 3.9, but I want to be able to use Traits, Göran’s namespaces, and Pragmas, so I’m going to have to bit the bullet and upgrade soon. When I do, and have a good working image done my style, I’ll post it here.
Tags: Magritte, Ruby, Seaside, Smalltalk, Updates