summaryrefslogtreecommitdiff
path: root/node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
committerJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
commit686106d544ecc3b6ffd4db2b665d3bc879a58d8c (patch)
treea5b5e50237cef70e12f0745371896e96f5f6d578 /node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js
ok
Diffstat (limited to 'node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js')
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js b/node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js
new file mode 100644
index 0000000..de896b3
--- /dev/null
+++ b/node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js
@@ -0,0 +1,43 @@
+// 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');
+ }
+});