it('test read extend datatype', function () { var reader = new Reader(buffer, 0, 100); reader.seek(14); expect(reader.readString(5)).toEqual('baidu'); expect(reader.readFixed()).toBeCloseTo(12.36, 2); expect(reader.readLongDateTime().getTime()).toEqual(now); expect(reader.readBytes(3)).toEqual([3, 4, 5]); });
it('test write extend datatype', function () { var writer = new Writer(buffer, 0, 100); var now = Math.round(new Date().getTime() / 1000) * 1000; // 扩展类型 writer.writeString('baidu'); writer.writeFixed(12.36); writer.writeLongDateTime(now); writer.writeBytes([3, 4, 5]); var reader = new Reader(buffer, 0, 100); expect(reader.readString(0, 5)).toEqual('baidu'); expect(reader.readFixed()).toBeCloseTo(12.36, 2); expect(reader.readLongDateTime().getTime()).toEqual(now); expect(reader.readBytes(3)).toEqual([3, 4, 5]); });
init: function () { var buffer = new ArrayBuffer(100); var writer = new Writer(buffer, 0, 100); // 基本类型 writer.writeInt8(10); writer.writeInt16(10); writer.writeInt32(10); writer.writeUint8(10); writer.writeUint16(10); writer.writeUint32(10); // 扩展类型 writer.writeString('baidu'); writer.writeFixed(12.36); writer.writeLongDateTime(new Date()); // 测试seek writer.seek(50); writer.writeFixed(12.36); writer.head(); writer.writeFixed(12.36); writer.writeBytes([3, 4, 5]); var reader = new Reader(buffer, 0, 100); console.log(reader.readInt8()); console.log(reader.readInt16()); console.log(reader.readInt32()); console.log(reader.readUint8()); console.log(reader.readUint16()); console.log(reader.readUint32()); console.log(reader.readString(reader.offset, 5)); console.log(reader.readFixed()); console.log(reader.readLongDateTime()); console.log(reader.readFixed()); console.log(reader.readBytes(3)); console.log(reader.readFixed(50)); }