/** * @fileoverview Test data for bool encoding and decoding. */ goog.module('protobuf.binary.boolTestPairs'); const BufferDecoder = goog.require('protobuf.binary.BufferDecoder'); const {createBufferDecoder} = goog.require('protobuf.binary.bufferDecoderHelper'); /** * An array of Pairs of boolean values and their bit representation. * This is used to test encoding and decoding from/to the protobuf wire format. * @return {!Array<{name: string, boolValue: boolean, bufferDecoder: * !BufferDecoder, error: ?boolean, skip_writer: ?boolean}>} */ function getBoolPairs() { const boolPairs = [ { name: 'true', boolValue: true, bufferDecoder: createBufferDecoder(0x01), }, { name: 'false', boolValue: false, bufferDecoder: createBufferDecoder(0x00), }, { name: 'two-byte true', boolValue: true, bufferDecoder: createBufferDecoder(0x80, 0x01), skip_writer: true, }, { name: 'two-byte false', boolValue: false, bufferDecoder: createBufferDecoder(0x80, 0x00), skip_writer: true, }, { name: 'minus one', boolValue: true, bufferDecoder: createBufferDecoder( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01), skip_writer: true, }, { name: 'max signed int 2^63 - 1', boolValue: true, bufferDecoder: createBufferDecoder( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F), skip_writer: true, }, { name: 'min signed int -2^63', boolValue: true, bufferDecoder: createBufferDecoder( 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x01), skip_writer: true, }, { name: 'overflowed but valid varint', boolValue: false, bufferDecoder: createBufferDecoder( 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x02), skip_writer: true, }, { name: 'errors out for 11 bytes', boolValue: true, bufferDecoder: createBufferDecoder( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), error: true, skip_writer: true, }, ]; return [...boolPairs]; } exports = {getBoolPairs};