src: fix CreateWindow attributes encoding

- Every attribute must have 4 byte length.
- Add test.
This commit is contained in:
Santiago Gimeno 2014-12-09 10:31:34 +01:00
parent 0fc0a6a411
commit e5be17ac46
2 changed files with 14 additions and 5 deletions

View file

@ -24,15 +24,15 @@ var valueMask = {
}, },
bitGravity : { bitGravity : {
mask: 0x00000010, mask: 0x00000010,
format: 'C' format: 'Cxxx'
}, },
winGravity : { winGravity : {
mask: 0x00000020, mask: 0x00000020,
format: 'C' format: 'Cxxx'
}, },
backingStore : { backingStore : {
mask: 0x00000040, mask: 0x00000040,
format: 'C' format: 'Cxxx'
}, },
backingPlanes : { backingPlanes : {
mask: 0x00000080, mask: 0x00000080,
@ -44,11 +44,11 @@ var valueMask = {
}, },
overrideRedirect : { overrideRedirect : {
mask: 0x00000200, mask: 0x00000200,
format: 'C' format: 'Cxxx'
}, },
saveUnder : { saveUnder : {
mask: 0x00000400, mask: 0x00000400,
format: 'C' format: 'Cxxx'
}, },
eventMask : { eventMask : {
mask: 0x00000800, mask: 0x00000800,

View file

@ -48,4 +48,13 @@ describe('CreateWindow request', function() {
}); });
}); });
it('should work with any kind of attributes too', function(done) {
var wid = X.AllocID();
X.CreateWindow(wid, display.screen[0].root, 0, 0, 1, 1, 0, 0, 0, 0, { overrideRedirect : true }); // 1x1 pixel window
X.QueryTree(display.screen[0].root, function(err, list) {
should.not.exist(err);
list.children.should.containEql(wid);
done();
});
});
}); });