12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/usr/bin/env node
- 'use strict';
- var path = require('path');
- var url = require('url');
- var execFile = require('child_process').execFile;
- var http = require('http');
- var finalhandler = require('finalhandler');
- var serveStatic = require('serve-static');
- var phantombin = require('phantomjs-prebuilt').path;
- var staticHandler = serveStatic(path.join(__dirname, '/../'), {
- 'index': ['index.html']
- });
- var server = http.createServer(function(req, res) {
- var done = finalhandler(req, res);
- staticHandler(req, res, done);
- });
- server.listen(0, function() {
- var port = server.address().port;
- var uri = url.format({
- protocol: 'http',
- hostname: 'localhost',
- port: port,
- pathname: '/test/'
- });
- var opts = { env: { url: uri } };
- var script = path.join(__dirname, 'test-phantom.js');
- var exit = 0;
- execFile(phantombin, [script], opts, function(err, stdout, stderr) {
- if (err && err.code) {
- exit = err.code;
- console.error(err);
- console.error(err.stack);
- }
- console.log(stdout);
- console.warn(stderr);
- server.close();
- process.exit(exit);
- });
- });
|