[ANN] johnson 1.2.0 Released

johnson version 1.2.0 has been released!

* <http://github.com/jbarnette/johnson>
* <http://groups.google.com/group/johnson-talk>

Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
Mozilla SpiderMonkey JavaScript runtime as a C extension. This release
squashes many, many bugs and segfaults.

Changes:

### 1.2.0 / 2010-01-25

* Add an API for registering custom conversions.
* Subclass Runtime, don't delegate.
* Make builds a bit more robust, especially on Snow Leopard.
* Handle UTF-8 conversion better. Also, treat JS strings as UTF-16.
* Add small bits of API doco.
* Plug tons of root leaks.
* Make Function.prototype.apply handle Ruby arrays.
* Remove Rails EJS support, it was a joke to begin with.
* Whitespace, formatting, and organization cleanups.

Could you talk about some of the potential use cases for this?

martin

···

On Tue, Jan 26, 2010 at 2:58 AM, John Barnette <jbarnette@gmail.com> wrote:

johnson version 1.2.0 has been released!

* <http://github.com/jbarnette/johnson&gt;
* <http://groups.google.com/group/johnson-talk&gt;

Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
Mozilla SpiderMonkey JavaScript runtime as a C extension. This release
squashes many, many bugs and segfaults.

Automated JavaScript testing through existing Ruby interfaces, e.g. RSpec.

James

···

On Tue, Jan 26, 2010 at 7:53 AM, Martin DeMello <martindemello@gmail.com>wrote:

On Tue, Jan 26, 2010 at 2:58 AM, John Barnette <jbarnette@gmail.com> > wrote:
> johnson version 1.2.0 has been released!
>
> * <http://github.com/jbarnette/johnson&gt;
> * <http://groups.google.com/group/johnson-talk&gt;
>
> Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
> Mozilla SpiderMonkey JavaScript runtime as a C extension. This release
> squashes many, many bugs and segfaults.

Could you talk about some of the potential use cases for this?

martin

Automated JavaScript testing through existing Ruby interfaces, e.g. RSpec.

James

johnson version 1.2.0 has been released!

* <http://github.com/jbarnette/johnson&gt;
* <http://groups.google.com/group/johnson-talk&gt;

Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
Mozilla SpiderMonkey JavaScript runtime as a C extension. This release
squashes many, many bugs and segfaults.

Could you talk about some of the potential use cases for this?

martin

blue-ridge is an example. It's a packing of a several projects that provides an rspec-like environment for JS. It currently uses Rhino, the Java JS interpreter, but there are efforts underway to make it work with Johnson/SpiderMoneky. That will require the next version of Johnson, tentatively, 2.0.0, but that's been under development for quite some time so there should be a prereleases of it before too long.

I do a lot of JS testing, using Johnson and other dependent gems. There's the env-js project and the envjs gem that provide a browser environment, e.g., a window object, based on Johnson. Then there's jazrb which combines the Jasmine (rspec-like) BDD framework with envjs. jslintrb is a Johnson-based ruby driver for Crockford's jslint. And I have a bastardized version of watchr that provides autotest-like environment for jazrb and jslint ... (and haml and sass ...)

FWIW, none of this is integrated with Rails at this point ...

···

On Tue, Jan 26, 2010 at 7:53 AM, Martin DeMello <martindemello@gmail.com>wrote:

On Tue, Jan 26, 2010 at 2:58 AM, John Barnette <jbarnette@gmail.com> >> wrote: