| /** |
| * @fileoverview Test data for int32 encoding and decoding. |
| */ |
| goog.module('protobuf.binary.int32TestPairs'); |
| |
| 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, skip_writer: ?boolean}>} |
| */ |
| function getInt32Pairs() { |
| const int32Pairs = [ |
| { |
| name: 'zero', |
| intValue: 0, |
| bufferDecoder: createBufferDecoder(0x00), |
| }, |
| { |
| name: 'one ', |
| intValue: 1, |
| bufferDecoder: createBufferDecoder(0x01), |
| }, |
| { |
| name: 'minus one', |
| intValue: -1, |
| bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x0F), |
| // The writer will encode this with 64 bits, see below |
| skip_writer: true, |
| }, |
| { |
| name: 'minus one (64bits)', |
| intValue: -1, |
| bufferDecoder: createBufferDecoder( |
| 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01), |
| }, |
| { |
| name: 'max signed int 2^31 - 1', |
| intValue: Math.pow(2, 31) - 1, |
| bufferDecoder: createBufferDecoder(0xFF, 0xFF, 0xFF, 0xFF, 0x07), |
| |
| }, |
| { |
| name: 'min signed int -2^31', |
| intValue: -Math.pow(2, 31), |
| bufferDecoder: createBufferDecoder(0x80, 0x80, 0x80, 0x80, 0x08), |
| // The writer will encode this with 64 bits, see below |
| skip_writer: true, |
| }, |
| { |
| name: 'value min signed int -2^31 (64 bit)', |
| intValue: -Math.pow(2, 31), |
| bufferDecoder: createBufferDecoder( |
| 0x80, 0x80, 0x80, 0x80, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x01), |
| }, |
| { |
| name: 'errors out for 11 bytes', |
| intValue: -1, |
| bufferDecoder: createBufferDecoder( |
| 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), |
| error: true, |
| skip_writer: true, |
| }, |
| ]; |
| return [...int32Pairs]; |
| } |
| |
| exports = {getInt32Pairs}; |