better test coverage

This commit is contained in:
Andrew Kelley 2013-01-08 03:00:37 -05:00
parent 0aa52864df
commit 2c9d1965db

View File

@ -45,38 +45,33 @@ var defaultServerProps = {
'motd': 'A Minecraft Server', 'motd': 'A Minecraft Server',
}; };
var eq = assert.strictEqual;
var ok = assert.ok;
var noop = function(){};
var values = { var values = {
'int': [123456, eq], 'int': 123456,
'short': [-123, eq], 'short': -123,
'ushort': [123, eq], 'ushort': 123,
'byte': [-10, eq], 'byte': -10,
'ubyte': [8, eq], 'ubyte': 8,
'string': ["hi hi this is my string", eq], 'string': "hi hi this is my string",
'byteArray16': [new Buffer(8), ok], 'byteArray16': new Buffer(8),
'bool': [true, eq], 'bool': true,
'double': [99999.2222, eq], 'double': 99999.2222,
'float': [-333.444, eq], 'float': -333.444,
'slot': [{ 'slot': {
id: 5, id: 5,
itemCount: 56, itemCount: 56,
itemDamage: 2, itemDamage: 2,
nbtData: new Buffer(90), nbtData: new Buffer(90),
}, ok], },
'ascii': "hello",
'ascii': ["hello", eq], 'byteArray32': new Buffer(10),
'byteArray32': [new Buffer(10), ok], 'long': [0, 1],
'long': [[0, 1], ok], 'slotArray': [{
'slotArray': [[{
id: 41, id: 41,
itemCount: 2, itemCount: 2,
itemDamage: 3, itemDamage: 3,
nbtData: new Buffer(0), nbtData: new Buffer(0),
}], ok], }],
'mapChunkBulk': [{ 'mapChunkBulk': {
skyLightSent: true, skyLightSent: true,
compressedChunkData: new Buffer(1234), compressedChunkData: new Buffer(1234),
meta: [{ meta: [{
@ -85,23 +80,23 @@ var values = {
bitMap: 3, bitMap: 3,
addBitMap: 10, addBitMap: 10,
}], }],
}, ok], },
'entityMetadata': [[{ 'entityMetadata': [{
type: 'int', type: 'int',
key: 3, key: 3,
value: 100, value: 100,
}], ok], }],
'objectData': [{ 'objectData': {
intField: 9, intField: 9,
velocityX: 1, velocityX: 1,
velocityY: 2, velocityY: 2,
velocityZ: 3, velocityZ: 3,
}, ok], },
'intArray8': [[1, 2, 3, 4], ok], 'intArray8': [1, 2, 3, 4],
'intVector': [{x: 1, y: 2, z: 3}, ok], 'intVector': {x: 1, y: 2, z: 3},
'byteVector': [{x: 1, y: 2, z: 3}, ok], 'byteVector': {x: 1, y: 2, z: 3},
'byteVectorArray': [[{x: 1, y: 2, z: 3}], ok], 'byteVectorArray': [{x: 1, y: 2, z: 3}],
} };
describe("packets", function() { describe("packets", function() {
var client, server, serverClient; var client, server, serverClient;
@ -147,7 +142,7 @@ describe("packets", function() {
var packet = {}; var packet = {};
packetInfo.forEach(function(field) { packetInfo.forEach(function(field) {
var value = field.type; var value = field.type;
packet[field.name] = values[field.type][0]; packet[field.name] = values[field.type];
}); });
serverClient.once(packetId, function(receivedPacket) { serverClient.once(packetId, function(receivedPacket) {
delete receivedPacket.id; delete receivedPacket.id;
@ -163,8 +158,7 @@ describe("packets", function() {
} }
function assertPacketsMatch(p1, p2) { function assertPacketsMatch(p1, p2) {
packetInfo.forEach(function(field) { packetInfo.forEach(function(field) {
var cmp = values[field.type][1]; assert.deepEqual(p1[field], p2[field]);
cmp(p1[field], p2[field]);
}); });
var field, cmp; var field, cmp;
for (field in p1) { for (field in p1) {