11describe ( "Tests mapped ByteBuffer conversion" , function ( ) {
2- it ( "should convert ByteBuffer to ArrayBuffer" , function ( ) {
2+ it ( "should convert ByteBuffer to ArrayBuffer [Direct ByteBuffer] " , function ( ) {
33 var bb = java . nio . ByteBuffer . allocateDirect ( 12 ) ;
44 var ab = ArrayBuffer . from ( bb ) ;
55 var int8arr = new Int8Array ( ab ) ;
@@ -8,7 +8,16 @@ describe("Tests mapped ByteBuffer conversion", function () {
88 expect ( int32arr . length ) . toBe ( 3 ) ;
99 } ) ;
1010
11- it ( "should share the same memory of all typed arrays" , function ( ) {
11+ it ( "should convert ByteBuffer to ArrayBuffer [Indirect ByteBuffer]" , function ( ) {
12+ var bb = java . nio . ByteBuffer . allocate ( 12 ) ;
13+ var ab = ArrayBuffer . from ( bb ) ;
14+ var int8arr = new Int8Array ( ab ) ;
15+ expect ( int8arr . length ) . toBe ( 12 ) ;
16+ var int32arr = new Int32Array ( ab ) ;
17+ expect ( int32arr . length ) . toBe ( 3 ) ;
18+ } ) ;
19+
20+ it ( "should share the same memory of all typed arrays [Direct ByteBuffer]" , function ( ) {
1221 var bb = java . nio . ByteBuffer . allocateDirect ( 12 ) ;
1322 var ab = ArrayBuffer . from ( bb ) ;
1423 var int8arr = new Int8Array ( ab ) ;
@@ -23,13 +32,35 @@ describe("Tests mapped ByteBuffer conversion", function () {
2332 expect ( value ) . toBe ( 0x44332211 ) ;
2433 } ) ;
2534
26- it ( "should keep original ByteBuffer after conversion" , function ( ) {
35+ it ( "should share the same memory of all typed arrays [Indirect ByteBuffer]" , function ( ) {
36+ var bb = java . nio . ByteBuffer . allocate ( 12 ) ;
37+ var ab = ArrayBuffer . from ( bb ) ;
38+ var int8arr = new Int8Array ( ab ) ;
39+ expect ( int8arr . length ) . toBe ( 12 ) ;
40+ var int32arr = new Int32Array ( ab ) ;
41+ expect ( int32arr . length ) . toBe ( 3 ) ;
42+ int8arr [ 0 ] = 0x11 ;
43+ int8arr [ 1 ] = 0x22 ;
44+ int8arr [ 2 ] = 0x33 ;
45+ int8arr [ 3 ] = 0x44 ;
46+ var value = int32arr [ 0 ] ;
47+ expect ( value ) . toBe ( 0x44332211 ) ;
48+ } ) ;
49+
50+ it ( "should keep original ByteBuffer after conversion [Direct ByteBuffer]" , function ( ) {
2751 var bb = java . nio . ByteBuffer . allocateDirect ( 12 ) ;
2852 var ab = ArrayBuffer . from ( bb ) ;
2953 var same = bb === ab . nativeObject ;
3054 expect ( same ) . toBe ( true ) ;
3155 } ) ;
3256
57+ it ( "should keep original ByteBuffer after conversion [Indirect ByteBuffer]" , function ( ) {
58+ var bb = java . nio . ByteBuffer . allocate ( 12 ) ;
59+ var ab = ArrayBuffer . from ( bb ) ;
60+ var same = bb === ab . nativeObject ;
61+ expect ( same ) . toBe ( true ) ;
62+ } ) ;
63+
3364 it ( "should throw exception when ArrayBuffer.from is called with wrong number of arguments" , function ( ) {
3465 var exceptionCaught = false ;
3566 try {
0 commit comments