瀏覽代碼

Add grunt task to run the tests.

- Removed phantom-jasmine, not used.
- Updated CONTRIBUTING.rst
JC Brand 12 年之前
父節點
當前提交
8e04ea51c3
共有 3 個文件被更改,包括 40 次插入16 次删除
  1. 9 2
      CONTRIBUTING.rst
  2. 31 13
      Gruntfile.js
  3. 0 1
      package.json

+ 9 - 2
CONTRIBUTING.rst

@@ -2,7 +2,7 @@
 Contributing to Converse.js
 Contributing to Converse.js
 ===========================
 ===========================
 
 
-Thanks for contributing to Converse.js_! 
+Thanks for contributing to Converse.js_.
 
 
 Please follow the usual github workflow. Create your own local fork of this repository,
 Please follow the usual github workflow. Create your own local fork of this repository,
 make your changes and then submit a pull request.
 make your changes and then submit a pull request.
@@ -19,12 +19,19 @@ for testing.
 Take a look at ``tests.html`` and ``spec/MainSpec.js`` to see how
 Take a look at ``tests.html`` and ``spec/MainSpec.js`` to see how
 the tests are implemented.
 the tests are implemented.
 
 
+If you are unsure how to write tests, please `contact me`_ and I'll be happy to
+help.
+
 Check that the tests run
 Check that the tests run
 ------------------------
 ------------------------
 
 
-Check that the Jasmine BDD tests complete sucessfully. Open tests.html in your
+Check that the Jasmine tests complete sucessfully. Open tests.html in your
 browser, and the tests will run automatically.
 browser, and the tests will run automatically.
 
 
 You can see the current test output online, here: http://conversejs.org/tests.html
 You can see the current test output online, here: http://conversejs.org/tests.html
 
 
+On the command line you can run ``grunt test`` (if you have before run ``npm
+install``).
+
 .. _Converse.js: http://conversejs.org
 .. _Converse.js: http://conversejs.org
+.. _`contact me`: http://opkode.com/contact.html

+ 31 - 13
Gruntfile.js

@@ -1,20 +1,38 @@
 module.exports = function(grunt) {
 module.exports = function(grunt) {
     grunt.initConfig({
     grunt.initConfig({
         jshint: {
         jshint: {
-        options: {
-            trailing: true
-        },
-        target: {
-            src : [
-                'converse.js',
-                'mock.js',
-                'main.js',
-                'tests_main.js',
-                'spec/*.js'
-            ]
-        }
+            options: {
+                trailing: true
+            },
+            target: {
+                src : [
+                    'converse.js',
+                    'mock.js',
+                    'main.js',
+                    'tests_main.js',
+                    'spec/*.js'
+                ]
+            }
         }
         }
     });
     });
     grunt.loadNpmTasks('grunt-contrib-jshint');
     grunt.loadNpmTasks('grunt-contrib-jshint');
-    grunt.registerTask('default', ['jshint']);
+    grunt.registerTask('test', 'Run Tests', function () {
+        var done = this.async();
+        var child_process = require('child_process');
+        var exec = child_process.exec;
+        exec('phantomjs '+
+             'node_modules/jasmine-reporters/test/phantomjs-testrunner.js '+
+             __dirname+'/tests.html',
+             function (err, stdout, stderr) {
+                if (err) {
+                    grunt.log.write('Tests failed with error code '+err.code);
+                    grunt.log.write(stderr);
+                }
+                grunt.log.write(stdout);
+                done();
+        });
+    });
+    grunt.registerTask('default', 'Perform all checks (e.g. before releasing)', function () {
+        grunt.task.run('jshint', 'test');
+    });
 };
 };

+ 0 - 1
package.json

@@ -31,7 +31,6 @@
     "grunt": "~0.4.1",
     "grunt": "~0.4.1",
     "grunt-contrib-jshint": "~0.6.0",
     "grunt-contrib-jshint": "~0.6.0",
     "phantomjs": "~1.9.1-0",
     "phantomjs": "~1.9.1-0",
-    "phantom-jasmine": "~0.3.0",
     "jasmine-reporters": "~0.2.1"
     "jasmine-reporters": "~0.2.1"
   }
   }
 }
 }