@@ -22,7 +22,8 @@ import {
2222import { util } from '../../Arrow' ;
2323
2424import {
25- validateVector , encodeAll , encodeEach ,
25+ validateVector ,
26+ encodeAll , encodeEach , encodeEachDOM , encodeEachNode ,
2627 boolsNoNulls , boolsWithNulls ,
2728 int8sNoNulls , int8sWithNulls , int8sWithMaxInts ,
2829 int16sNoNulls , int16sWithNulls , int16sWithMaxInts ,
@@ -37,22 +38,27 @@ import {
3738 float64sNoNulls , float64sWithNulls , float32sWithNaNs ,
3839} from './utils' ;
3940
41+ const testDOMStreams = process . env . TEST_DOM_STREAMS === 'true' ;
42+ const testNodeStreams = process . env . TEST_NODE_STREAMS === 'true' ;
43+
4044describe ( 'BoolBuilder' , ( ) => {
4145
4246 runTestsWithEncoder ( 'encodeAll: 5' , encodeAll ( ( ) => new Bool ( ) ) ) ;
4347 runTestsWithEncoder ( 'encodeEach: 5' , encodeEach ( ( ) => new Bool ( ) , 5 ) ) ;
4448 runTestsWithEncoder ( 'encodeEach: 25' , encodeEach ( ( ) => new Bool ( ) , 25 ) ) ;
4549 runTestsWithEncoder ( 'encodeEach: undefined' , encodeEach ( ( ) => new Bool ( ) ) ) ;
50+ testDOMStreams && runTestsWithEncoder ( 'encodeEachDOM: 25' , encodeEachDOM ( ( ) => new Bool ( ) , 25 ) ) ;
51+ testNodeStreams && runTestsWithEncoder ( 'encodeEachNode: 25' , encodeEachNode ( ( ) => new Bool ( ) , 25 ) ) ;
4652
47- function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Vector < T > ) {
53+ function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Promise < Vector < T > > ) {
4854 describe ( `${ encode . name } ${ name } ` , ( ) => {
49- it ( `encodes bools no nulls` , ( ) => {
55+ it ( `encodes bools no nulls` , async ( ) => {
5056 const vals = boolsNoNulls ( 20 ) ;
51- validateVector ( vals , encode ( vals , [ ] ) , [ ] ) ;
57+ validateVector ( vals , await encode ( vals , [ ] ) , [ ] ) ;
5258 } ) ;
53- it ( `encodes bools with nulls` , ( ) => {
59+ it ( `encodes bools with nulls` , async ( ) => {
5460 const vals = boolsWithNulls ( 20 ) ;
55- validateVector ( vals , encode ( vals , [ null ] ) , [ null ] ) ;
61+ validateVector ( vals , await encode ( vals , [ null ] ) , [ null ] ) ;
5662 } ) ;
5763 } ) ;
5864 }
@@ -85,18 +91,20 @@ type PrimitiveTypeOpts<T extends DataType> = [
8591 runTestsWithEncoder ( 'encodeEach: 5' , encodeEach ( typeFactory , 5 ) ) ;
8692 runTestsWithEncoder ( 'encodeEach: 25' , encodeEach ( typeFactory , 25 ) ) ;
8793 runTestsWithEncoder ( 'encodeEach: undefined' , encodeEach ( typeFactory ) ) ;
88-
89- function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Vector < T > ) {
94+ testDOMStreams && runTestsWithEncoder ( 'encodeEachDOM: 25' , encodeEachDOM ( typeFactory , 25 ) ) ;
95+ testNodeStreams && runTestsWithEncoder ( 'encodeEachNode: 25' , encodeEachNode ( typeFactory , 25 ) ) ;
96+
97+ function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Promise < Vector < T > > ) {
9098 describe ( `${ encode . name } ${ name } ` , ( ) => {
91- it ( `encodes ${ valueName } no nulls` , ( ) => {
99+ it ( `encodes ${ valueName } no nulls` , async ( ) => {
92100 const vals = noNulls ( 20 ) ;
93- validateVector ( vals , encode ( vals , [ ] ) , [ ] ) ;
101+ validateVector ( vals , await encode ( vals , [ ] ) , [ ] ) ;
94102 } ) ;
95- it ( `encodes ${ valueName } with nulls` , ( ) => {
103+ it ( `encodes ${ valueName } with nulls` , async ( ) => {
96104 const vals = withNulls ( 20 ) ;
97- validateVector ( vals , encode ( vals , [ null ] ) , [ null ] ) ;
105+ validateVector ( vals , await encode ( vals , [ null ] ) , [ null ] ) ;
98106 } ) ;
99- it ( `encodes ${ valueName } with MAX_INT` , ( ) => {
107+ it ( `encodes ${ valueName } with MAX_INT` , async ( ) => {
100108 const vals = withNaNs ( 20 ) ;
101109 const nullVals0 : any [ ] = [ 0x7fffffff ] ;
102110 const nullVals1 : any [ ] = [ 0x7fffffff ] ;
@@ -106,7 +114,7 @@ type PrimitiveTypeOpts<T extends DataType> = [
106114 nullVals0 [ 0 ] = new Uint32Array ( [ 0x7fffffff , 0x7fffffff ] ) ;
107115 nullVals1 [ 0 ] = ( util . BN . new ( nullVals0 [ 0 ] ) as any ) [ Symbol . toPrimitive ] ( 'default' ) ;
108116 }
109- validateVector ( vals , encode ( vals , nullVals0 ) , nullVals1 ) ;
117+ validateVector ( vals , await encode ( vals , nullVals0 ) , nullVals1 ) ;
110118 } ) ;
111119 } ) ;
112120 }
@@ -128,20 +136,22 @@ type PrimitiveTypeOpts<T extends DataType> = [
128136 runTestsWithEncoder ( 'encodeEach: 5' , encodeEach ( typeFactory , 5 ) ) ;
129137 runTestsWithEncoder ( 'encodeEach: 25' , encodeEach ( typeFactory , 25 ) ) ;
130138 runTestsWithEncoder ( 'encodeEach: undefined' , encodeEach ( typeFactory ) ) ;
139+ testDOMStreams && runTestsWithEncoder ( 'encodeEachDOM: 25' , encodeEachDOM ( typeFactory , 25 ) ) ;
140+ testNodeStreams && runTestsWithEncoder ( 'encodeEachNode: 25' , encodeEachNode ( typeFactory , 25 ) ) ;
131141
132- function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Vector < T > ) {
142+ function runTestsWithEncoder < T extends DataType > ( name : string , encode : ( vals : ( T [ 'TValue' ] | null ) [ ] , nullVals ?: any [ ] ) => Promise < Vector < T > > ) {
133143 describe ( `${ encode . name } ${ name } ` , ( ) => {
134- it ( `encodes ${ valueName } no nulls` , ( ) => {
144+ it ( `encodes ${ valueName } no nulls` , async ( ) => {
135145 const vals = noNulls ( 20 ) ;
136- validateVector ( vals , encode ( vals , [ ] ) , [ ] ) ;
146+ validateVector ( vals , await encode ( vals , [ ] ) , [ ] ) ;
137147 } ) ;
138- it ( `encodes ${ valueName } with nulls` , ( ) => {
148+ it ( `encodes ${ valueName } with nulls` , async ( ) => {
139149 const vals = withNulls ( 20 ) ;
140- validateVector ( vals , encode ( vals , [ null ] ) , [ null ] ) ;
150+ validateVector ( vals , await encode ( vals , [ null ] ) , [ null ] ) ;
141151 } ) ;
142- it ( `encodes ${ valueName } with NaNs` , ( ) => {
152+ it ( `encodes ${ valueName } with NaNs` , async ( ) => {
143153 const vals = withNaNs ( 20 ) ;
144- validateVector ( vals , encode ( vals , [ NaN ] ) , [ NaN ] ) ;
154+ validateVector ( vals , await encode ( vals , [ NaN ] ) , [ NaN ] ) ;
145155 } ) ;
146156 } ) ;
147157 }
0 commit comments