mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-04-22 18:47:39 -05:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
// Verify that some attributes of a WebSocket object are read-only.
|
|
|
|
var assert = require('assert');
|
|
var sys = require('sys');
|
|
var WebSocket = require('../lib/websocket').WebSocket;
|
|
var WebSocketServer = require('websocket-server/ws/server').Server;
|
|
|
|
var PORT = 1024 + Math.floor(Math.random() * 4096);
|
|
|
|
var wss = new WebSocketServer();
|
|
wss.listen(PORT, 'localhost');
|
|
wss.on('connection', function(c) {
|
|
c.close();
|
|
wss.close();
|
|
});
|
|
var ws = new WebSocket('ws://localhost:' + PORT + '/', 'biff');
|
|
ws.on('open', function() {
|
|
assert.equal(ws.CONNECTING, 0);
|
|
try {
|
|
ws.CONNECTING = 13;
|
|
assert.equal(
|
|
ws.CONNECTING, 0,
|
|
'Should not have been able to set read-only CONNECTING attribute'
|
|
);
|
|
} catch (e) {
|
|
assert.equal(e.type, 'no_setter_in_callback');
|
|
}
|
|
|
|
assert.equal(ws.OPEN, 1);
|
|
assert.equal(ws.CLOSING, 2);
|
|
assert.equal(ws.CLOSED, 3);
|
|
|
|
assert.equal(ws.url, 'ws://localhost:' + PORT + '/');
|
|
try {
|
|
ws.url = 'foobar';
|
|
assert.equal(
|
|
ws.url, 'ws://localhost:' + PORT + '/',
|
|
'Should not have been able to set read-only url attribute'
|
|
);
|
|
} catch (e) {
|
|
assert.equal(e.type, 'no_setter_in_callback');
|
|
}
|
|
});
|