[Groonga-commit] groonga/gcs [master] Add test runner for CasperJS

Back to archive index

Yoji SHIDARA null+****@clear*****
Thu Aug 30 16:45:50 JST 2012


Yoji SHIDARA	2012-08-30 16:45:50 +0900 (Thu, 30 Aug 2012)

  New Revision: 3edb7fb5587382ffd97e9d6616572236783151f2
  https://github.com/groonga/gcs/commit/3edb7fb5587382ffd97e9d6616572236783151f2

  Log:
    Add test runner for CasperJS

  Added files:
    test_casper/casper-runner.js
    test_casper/test/dashboard.js
  Modified files:
    package.json
    test/test-utils.js

  Modified: package.json (+1 -0)
===================================================================
--- package.json    2012-08-29 12:55:29 +0900 (b601f9a)
+++ package.json    2012-08-30 16:45:50 +0900 (c6724cc)
@@ -31,6 +31,7 @@
   },
   "scripts": {
     "test": "NODE_ENV=test ./node_modules/.bin/mocha --reporter list --ui tdd",
+    "test:casper": "./test_casper/casper-runner.js",
     "start": "./bin/gcs"
   },
   "bin": {

  Modified: test/test-utils.js (+7 -0)
===================================================================
--- test/test-utils.js    2012-08-29 12:55:29 +0900 (bb7b63d)
+++ test/test-utils.js    2012-08-30 16:45:50 +0900 (8f2669e)
@@ -8,6 +8,7 @@ var nativeNroonga = require('nroonga');
 var wrappedNroonga = require(__dirname + '/../lib/wrapped-nroonga');
 var xml2js = require('xml2js');
 var spawn = require('child_process').spawn;
+var url = require('url');
 
 var temporaryDirectory = exports.temporaryDirectory = path.join(__dirname, 'tmp');
 
@@ -27,6 +28,12 @@ function setupServer(context, extraOptions) {
     });
   var server = gcsServer.createServer(options);
   server.listen(testPort);
+
+  server.dashboardUrl = url.format({
+    protocol: 'http',
+    hostname: 'localhost',
+    port: options.port
+  });
   return server;
 }
 exports.setupServer = setupServer;

  Added: test_casper/casper-runner.js (+36 -0) 100755
===================================================================
--- /dev/null
+++ test_casper/casper-runner.js    2012-08-30 16:45:50 +0900 (ed93524)
@@ -0,0 +1,36 @@
+#!/usr/bin/env node
+
+// In oreder to run this tests, you need CasperJS.
+// http://casperjs.org/
+
+var utils = require('../test/test-utils');
+var spawn = require('child_process').spawn;
+
+function casper(options, callback) {
+  var command = spawn('casperjs', options);
+  var output = '';
+
+  command.stdout.on('data', function(data) {
+    process.stdout.write(data);
+  });
+
+  command.stderr.on('data', function(data) {
+    process.stderr.write(data);
+  });
+
+  command.on('exit', function(code) {
+    callback(code);
+  });
+}
+
+var server = utils.setupServer();
+var options = [
+  'test',
+  __dirname + '/test',
+  '--dashboard-url=' + server.dashboardUrl
+];
+
+casper(options, function(code) {
+  server.close();
+  process.exit(code);
+});

  Added: test_casper/test/dashboard.js (+10 -0) 100644
===================================================================
--- /dev/null
+++ test_casper/test/dashboard.js    2012-08-30 16:45:50 +0900 (45a01ed)
@@ -0,0 +1,10 @@
+var casper = require('casper').create();
+var dashboardUrl = casper.cli.options['dashboard-url'];
+
+casper.start(dashboardUrl, function() {
+  this.test.assertTitle('Groonga CloudSearch');
+});
+
+casper.run(function() {
+  this.test.renderResults(true);
+});
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index