/js/lib/Socket.IO-node/tests/utils.js
http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs · JavaScript · 38 lines · 33 code · 5 blank · 0 comment · 0 complexity · 88f75719a1bade575b3266e7a896ed14 MD5 · raw file
- var assert = require('assert')
- encode = require('socket.io/utils').encode,
- decode = require('socket.io/utils').decode;
- module.exports = {
- 'test decoding': function(){
- var decoded = decode('~m~5~m~abcde' + '~m~9~m~123456789');
- assert.equal(decoded.length, 2);
- assert.equal(decoded[0], 'abcde');
- assert.equal(decoded[1], '123456789');
- },
-
- 'test decoding of invalid data length recovery': function(){
- var decoded = decode('~m~2~m~hello there' + '~m~5~m~again');
- assert.equal(decoded.length, 2);
- assert.equal(decoded[0], 'he');
- assert.equal(decoded[1], 'again');
- var decoded = decode('~m~5~m~hello there' + '~m~5~m~again');
- assert.equal(decoded.length, 2);
- assert.equal(decoded[0], 'hello');
- assert.equal(decoded[1], 'again');
- },
-
- 'test decoding of bad framed messages': function(){
- var decoded = decode('~m~5~m~abcde' + '~m\uffsdaasdfd9~m~1aaa23456789');
- assert.equal(decoded.length, 1);
- assert.equal(decoded[0], 'abcde');
- assert.equal(decoded[1], undefined);
- },
-
- 'test encoding': function(){
- assert.equal(encode(['abcde', '123456789']), '~m~5~m~abcde' + '~m~9~m~123456789');
- assert.equal(encode('asdasdsad'), '~m~9~m~asdasdsad');
- assert.equal(encode(''), '~m~0~m~');
- assert.equal(encode(null), '~m~0~m~');
- }
- };