node-x11/test/connect.js

60 lines
1.7 KiB
JavaScript

var x11 = require('../lib');
var should = require('should');
var assert = require('assert');
var util = require('util');
describe('Client', function() {
var display;
beforeEach(function(done) {
var client = x11.createClient(function(err, dpy) {
if (!err) {
display = dpy;
done();
client.removeListener('error', done);
} else {
done(err);
}
});
client.on('error', done);
});
it('calls first createClient parameter with display object', function(done) {
should.exist(display);
should.exist(display.screen);
should.exist(display.screen[0]);
should.exist(display.screen[0].root);
should.exist(display.major);
done();
});
it('uses display variable from parameter if present ignoring anvironment $DISPLAY', function(done) {
var disp = process.env.DISPLAY;
process.env.DISPLAY = 'BOGUS DISPLAY';
var client = x11.createClient({ display : disp }, done);
client.on('error', done);
process.env.DISPLAY=disp;
});
it('throws error if $DISPLAY is bogus', function(done) {
try {
assert.throws(function() {
var client = x11.createClient({ display : 'BOGUS DISPLAY' }, function(err, display) {
done('Should not reach here');
});
client.on('error', function(err) { done(); });
}, /Cannot parse display/);
done();
} catch(e) {
done();
}
});
it('returns error when connecting to non existent display', function(done) {
var client = x11.createClient({ display : ':44' }, function(err, display) {
assert(util.isError(err));
done();
});
});
});