Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
5 years ago
|
goog.module('protobuf.binary.packedBoolTestPairs');
|
||
|
|
||
|
const BufferDecoder = goog.require('protobuf.binary.BufferDecoder');
|
||
|
const {createBufferDecoder} = goog.require('protobuf.binary.bufferDecoderHelper');
|
||
|
|
||
|
/**
|
||
|
* An array of Pairs of packed bool values and their bit representation.
|
||
|
* This is used to test encoding and decoding from/to the protobuf wire format.
|
||
|
* @return {!Array<{name: string, boolValues: !Array<boolean>,
|
||
|
* bufferDecoder: !BufferDecoder, skip_writer: ?boolean}>}
|
||
|
*/
|
||
|
function getPackedBoolPairs() {
|
||
|
return [
|
||
|
{
|
||
|
name: 'empty value',
|
||
|
boolValues: [],
|
||
|
bufferDecoder: createBufferDecoder(0x00),
|
||
|
skip_writer: true,
|
||
|
},
|
||
|
{
|
||
|
name: 'single value',
|
||
|
boolValues: [true],
|
||
|
bufferDecoder: createBufferDecoder(0x01, 0x01),
|
||
|
},
|
||
|
{
|
||
|
name: 'single multi-bytes value',
|
||
|
boolValues: [true],
|
||
|
bufferDecoder: createBufferDecoder(0x02, 0x80, 0x01),
|
||
|
skip_writer: true,
|
||
|
},
|
||
|
{
|
||
|
name: 'multiple values',
|
||
|
boolValues: [true, false],
|
||
|
bufferDecoder: createBufferDecoder(0x02, 0x01, 0x00),
|
||
|
},
|
||
|
{
|
||
|
name: 'multiple multi-bytes values',
|
||
|
boolValues: [true, false],
|
||
|
bufferDecoder: createBufferDecoder(
|
||
|
0x0C, // length
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x01, // true
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x80,
|
||
|
0x00, // false
|
||
|
),
|
||
|
skip_writer: true,
|
||
|
},
|
||
|
];
|
||
|
}
|
||
|
|
||
|
exports = {getPackedBoolPairs};
|