We need testing for the core functionality. One way to make this relatively painless would be to use phantomjs, though this needs to be investigated.