kopia lustrzana https://github.com/c9/core
82 wiersze
2.7 KiB
JavaScript
82 wiersze
2.7 KiB
JavaScript
/*global describe it before*/
|
|
|
|
"use client";
|
|
|
|
require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai) {
|
|
var expect = chai.expect;
|
|
|
|
expect.setupArchitectTest([
|
|
{
|
|
packagePath: "plugins/c9.core/c9",
|
|
startdate: new Date(),
|
|
debug: true,
|
|
hosted: true,
|
|
local: false
|
|
},
|
|
"plugins/c9.core/http-xhr",
|
|
"plugins/c9.core/ext",
|
|
"plugins/c9.fs/net",
|
|
"plugins/c9.fs/proc",
|
|
"plugins/c9.vfs.client/vfs_client",
|
|
"plugins/c9.vfs.client/endpoint",
|
|
"plugins/c9.ide.auth/auth",
|
|
|
|
//Mock Plugins
|
|
{
|
|
consumes: ["Plugin"],
|
|
provides: ["auth.bootstrap", "info", "dialog.error"],
|
|
setup: expect.html.mocked
|
|
},
|
|
{
|
|
consumes: ["net", "proc"],
|
|
provides: [],
|
|
setup: main
|
|
}
|
|
], architect);
|
|
|
|
function main(options, imports, register) {
|
|
var net = imports.net;
|
|
var proc = imports.proc;
|
|
|
|
describe('net', function() {
|
|
describe('connect()', function() {
|
|
this.timeout(30000);
|
|
|
|
it("should connect to a port", function(done) {
|
|
var code =
|
|
"var server = require('net').createServer(function(c) {"
|
|
+ "c.write('1');"
|
|
+ "c.pipe(c);"
|
|
+ "});"
|
|
+ "server.listen(18000, function() {});";
|
|
|
|
proc.spawn("node", { args: ["-e", code]},
|
|
function(err, child) {
|
|
if (err) throw err.message;
|
|
|
|
expect(child).ok;
|
|
expect(child).property("stdout").ok;
|
|
expect(child).property("stdin").ok;
|
|
child.stderr.on("data", function(data) {
|
|
throw new Error(data);
|
|
});
|
|
child.stdin.on("data", function(data) {
|
|
throw new Error(data);
|
|
});
|
|
|
|
net.connect(18000, {}, function(err, stream) {
|
|
if (err) throw err.message;
|
|
stream.on("data", function(chunk) {
|
|
expect(chunk).equal("1");
|
|
child.kill();
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
onload && onload();
|
|
}
|
|
}); |