I made a little POC about Nodejs integration with its task runner Grunt 
https://review.openstack.org/58525

It is easy to configure and override, we have more flexibility with this 
solution.

Running Selenium which will run Firefox which will launch an html page with js 
embedded seems really overkill. It provides a lot of complexity and we have to 
manipulate the file launched by Firefox if we want a little modification or 
just test a single file. 
Currently all files are tested together with all the tests without any control. 
Imagine testing the backend this way, launching all the tests just for looking 
at your modifications. No command line support in development implies a lack of 
automatisation, and a lack of automatisation lead to a lose of time. 

In the other hand, grunt allows us to launch tests on a specific file or all 
libraries. We can make specific tasks really fast with a better readability. I 
encourage you to think of the further developments and to think of all the pro 
and cons of these solutions. Just test it and look at the documentation with 
all the plugins (unit testing, less compilation, jshint checking, angular 
testing), this is just configuration and no development, with a great community 
which will allow us to focus on the Horizon development and not wasting times 
on external tools.

Horizon will need more and more development on the client side, currently 
javascript is a mess and we need great tools to improve our work. Developing 
our tools will take time and during this time developers will continue 
developing with no tools to automate or check their work.

Maxime

----- Original Message -----
From: "Imre Farkas" <ifar...@redhat.com>
To: openstack-dev@lists.openstack.org
Sent: Tuesday, November 26, 2013 1:42:26 PM
Subject: Re: [openstack-dev] [horizon] Javascript development improvement

On 11/22/2013 06:13 PM, Julie Pichon wrote:
> "Imre Farkas" <ifar...@redhat.com> wrote:
>> On 11/22/2013 02:49 PM, Maxime Vidori wrote:
>>>> It seems a bit crazy to me to introduce NodeJS as a dependency just for
>>>> the sake of an easy way to run jslint. There are other options
>>>> available that run without NodeJS as a dependency.
>>>
>>> Sadly, the only solutions which try to implement jslint in pure python are
>>> in alpha or abandoned. If you have a python library which has the same
>>> quality as jslint (which is written by Douglas Crockford himself), I will
>>> be glad to take a look at it.
>>
>> There's a jslint fork called jshint which is able to run in the browser
>> without any node.js dependency.
>>
>> I created a POC patch [1] long time ago to demonstrate its capabilities.
>> It's integrated with qunit and runs automatically with the horizon test
>> suite.
>
> Thanks Imre, this is interesting. Would you mind restoring the patch? If
> you don't have time to work on it please indicate so (I don't think it's
> possible to pick up a patch if the status is 'Abandoned') and someone else
> can look into the test failures.

Julie, Matthias,
I restored the patch, rebased, fixed the tests, added the test files as 
Radomir suggested and removed the .jshintrc file.

The original patch was WIP and I left the failing tests intentionally, 
so that it was easier to compare the two solutions (node.js vs pure 
qunit). But as I wrote, it's cleaned up by now and only contains the latter.

Imre

>
>> The patch also contains a .jshintrc file for the node.js package but you
>> can remove it since it's not used by the qunit+jshint test at all.
>
> Sounds good.
>
> Julie
>
>> Imre
>>
>> [1] https://review.openstack.org/#/c/41087/
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to