/** * @fileoverview Test data for int32 encoding and decoding. */ goog.module('protobuf.binary.uint32TestPairs'); const BufferDecoder = goog.require('protobuf.binary.BufferDecoder'); const {createBufferDecoder} = goog.require('protobuf.binary.bufferDecoderHelper'); /** * An array of Pairs of float values and their bit representation. * This is used to test encoding and decoding from/to the protobuf wire format. * @return {!Array<{name: string, intValue:number, bufferDecoder: * !BufferDecoder, error: (boolean|undefined), * skip_reader: (boolean|undefined), skip_writer: (boolean|undefined)}>} */ function getUint32Pairs() { const uint32Pairs = [ { name: 'zero', intValue: 0, bufferDecoder: createBufferDecoder(0x00), }, { name: 'one ', intValue: 1, bufferDecoder: createBufferDecoder(0x01), }, { name: 'max signed int 2^31 - 1', intValue: Math.pow(2, 31) - 1, bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x07), }, { name: 'max unsigned int 2^32 - 1', intValue: Math.pow(2, 32) - 1, bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x0F), }, { name: 'negative one', intValue: -1, bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x0F), skip_reader: true, }, { name: 'truncates more than 32 bits', intValue: Math.pow(2, 32) - 1, bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01), skip_writer: true, }, { name: 'truncates more than 32 bits (bit 33 set)', intValue: Math.pow(2, 28) - 1, bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x10), skip_writer: true, }, { name: 'errors out for 11 bytes', intValue: Math.pow(2, 32) - 1, bufferDecoder: createBufferDecoder( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), error: true, skip_writer: true, }, ]; return [...uint32Pairs]; } exports = {getUint32Pairs};