Add tests for pragmas

master
Paul Loyd 2017-10-29 16:22:27 +03:00
parent 9f786f0db7
commit e44e49e966
1 changed files with 75 additions and 0 deletions

75
tests/pragmas.js Normal file
View File

@ -0,0 +1,75 @@
type Type = {
// $avro int
a: number,
/* $avro long */
b: number,
// $avro float
c: number,
// $avro double
d: number,
/* $avro fixed 10 */
e: Buffer,
};
interface Interface {
// $avro int
a: number;
/* $avro long */
b: number;
// $avro float
c: number;
// $avro double
d: number;
/* $avro fixed 10 */
e: Buffer;
}
class Class {
// $avro int
a: number;
/* $avro long */
b: number;
// $avro float
c: number;
// $avro double
d: number;
/* $avro fixed 10 */
e: Buffer;
}
// ###
({
Type: {
type: 'record',
name: 'Type',
fields: [
{name: 'a', type: 'int'},
{name: 'b', type: 'long'},
{name: 'c', type: 'float'},
{name: 'd', type: 'double'},
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
Interface: {
type: 'record',
name: 'Interface',
fields: [
{name: 'a', type: 'int'},
{name: 'b', type: 'long'},
{name: 'c', type: 'float'},
{name: 'd', type: 'double'},
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
Class: {
type: 'record',
name: 'Class',
fields: [
{name: 'a', type: 'int'},
{name: 'b', type: 'long'},
{name: 'c', type: 'float'},
{name: 'd', type: 'double'},
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
});