c9-core/node_modules/smith/tests/test-browser.js

44 wiersze
1.2 KiB
JavaScript

var creationix = require('creationix');
var stack = require('stack');
var http = require('http');
var WebSocketServer = require('ws').Server
var spawn = require('child_process').spawn;
var Agent = require('smith').Agent;
var WebSocketTransport = require('smith').WebSocketTransport
var api = {
add: function (a, b, callback) {
callback(null, a + b);
}
};
var server = http.createServer(stack(
creationix.log(),
creationix.static("/", __dirname + "/public")
));
var wss = new WebSocketServer({server: server});
wss.on("connection", function (websocket) {
var agent = new Agent(api);
agent.connect(new WebSocketTransport(websocket, true), function (err, browserAgent) {
if (err) throw err;
console.log({browserAgent:browserAgent});
});
});
server.listen(8080, function () {
var url = "http://localhost:" + server.address().port + "/index.html";
console.log(__dirname + "/phantom.js")
var env = Object.create(process.env);
env.URL = url;
console.log(url);
var phantom = spawn("phantomjs", [__dirname + "/phantom.js"], {env: env, customFds: [-1, 1, 2]});
phantom.on("exit", function (code, signal) {
if (code) throw new Error("Child died with code " + code);
});
});