News for hackers. Stuff that matters.
Re:Javascript + DOM in your ruby, the simple way by Groxx on Friday February 12, 2010 @06:02PM (#1122068)
So, which browser's quirks does this emulate? And what version of HTML does it support? (seriously. and what user agent does it report? developing cross-browser code is often important)

I can see how this could be extremely useful, but it does strike me as yet another source for unique bugs in your JS-manipulating-DOM code, and it's potentially even harder to find out why they're happening.

Re:Javascript + DOM in your ruby, the simple way by mynyml on Friday February 12, 2010 @06:26PM (#1122124)
If you use a client-side js framework like JQuery or Prototype, the cross browser compatibility isn't an issue since it's taken care of for you.

The user agent it reports as is irrelevant - it's not a full http client. You can use other ruby tools to fetch a page if you want, and then feed harmony the document.

As others pointed out, testing is probably the main use case, but it offers other obvious possibilities; for instance, talkerapp.com needed a way to easily validate js syntax for their plugins.

Re:Javascript + DOM in your ruby, the simple way by Groxx on Friday February 12, 2010 @10:45PM (#1122495)
Nothing is irrelevant for a testing platform. For instance, how does it handle a canvas tag? It'd be useful to be able to dump out frames as images. A user agent string could be used by javascript to do any number of things, so I would hope it's modifiable.

As to the libraries to make things cross-browser compatible, knowing which browser it tries to emulate would be essential to knowing which lines of code would be executed through this tool. If you can't test the IE-specific code, what's the use if you're developing for IE?

Re:Javascript + DOM in your ruby, the simple way by FooBarWidget on Friday February 12, 2010 @06:05PM (#1122076)
I think it simulates a perfect browser. But that's fine. I see unit testing as the main use case for this library. If you want to test browser compatibility, then just simulate their quirks by mocking and stubbing the relevant APIs.