Index: mojo/dart/test/codec_test.dart |
diff --git a/mojo/dart/test/codec_test.dart b/mojo/dart/test/codec_test.dart |
index 676054a22bf236bc6198709af0f8dc60e71435f0..a9ad7de7be4dd57d871eb2a50644631220e3dafc 100644 |
--- a/mojo/dart/test/codec_test.dart |
+++ b/mojo/dart/test/codec_test.dart |
@@ -3,10 +3,10 @@ |
// found in the LICENSE file. |
import 'dart:typed_data'; |
-import 'dart:mojo.bindings' as bindings; |
-import 'dart:mojo.core' as core; |
import 'package:mojo/dart/testing/expect.dart'; |
+import 'package:mojo/public/dart/bindings.dart' as bindings; |
+import 'package:mojo/public/dart/core.dart' as core; |
class Bar extends bindings.Struct { |
static const int kStructSize = 16; |
@@ -61,7 +61,6 @@ class Bar extends bindings.Struct { |
} |
} |
- |
void testBar() { |
var bar = new Bar(); |
bar.alpha = 1; |
@@ -74,16 +73,38 @@ void testBar() { |
var message = bar.serializeWithHeader(header); |
var expectedMemory = new Uint8List.fromList([ |
- 16, 0, 0, 0, |
- 2, 0, 0, 0, |
- 42, 0, 0, 0, |
- 0, 0, 0, 0, |
- |
- 16, 0, 0, 0, |
- 4, 0, 0, 0, |
- |
- 1, 2, 3, 0, |
- 5, 6, 7, 8, |
+ 16, |
+ 0, |
+ 0, |
+ 0, |
+ 2, |
+ 0, |
+ 0, |
+ 0, |
+ 42, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 16, |
+ 0, |
+ 0, |
+ 0, |
+ 4, |
+ 0, |
+ 0, |
+ 0, |
+ 1, |
+ 2, |
+ 3, |
+ 0, |
+ 5, |
+ 6, |
+ 7, |
+ 8, |
]); |
var actualMemory = message.buffer.buffer.asUint8List(); |
@@ -102,7 +123,6 @@ void testBar() { |
Expect.equals(bar.type, bar2.type); |
} |
- |
class Foo extends bindings.Struct { |
static const int kStructSize = 96; |
static const bindings.StructDataHeader kDefaultStructInfo = |
@@ -167,8 +187,8 @@ class Foo extends bindings.Struct { |
if (decoder1 == null) { |
result.extraBars = null; |
} else { |
- var si1 = decoder1.decodeDataHeaderForPointerArray( |
- bindings.kUnspecifiedArrayLength); |
+ var si1 = decoder1 |
+ .decodeDataHeaderForPointerArray(bindings.kUnspecifiedArrayLength); |
result.extraBars = new List<Bar>(si1.numElements); |
for (int i1 = 0; i1 < si1.numElements; ++i1) { |
var decoder2 = decoder1.decodePointer( |
@@ -194,14 +214,13 @@ class Foo extends bindings.Struct { |
if (decoder1 == null) { |
result.arrayOfArrayOfBools = null; |
} else { |
- var si1 = decoder1.decodeDataHeaderForPointerArray( |
- bindings.kUnspecifiedArrayLength); |
+ var si1 = decoder1 |
+ .decodeDataHeaderForPointerArray(bindings.kUnspecifiedArrayLength); |
result.arrayOfArrayOfBools = new List<List<bool>>(si1.numElements); |
for (int i1 = 0; i1 < si1.numElements; ++i1) { |
result.arrayOfArrayOfBools[i1] = decoder1.decodeBoolArray( |
bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize * i1, |
- bindings.kNothingNullable, |
- bindings.kUnspecifiedArrayLength); |
+ bindings.kNothingNullable, bindings.kUnspecifiedArrayLength); |
} |
} |
} |
@@ -210,8 +229,8 @@ class Foo extends bindings.Struct { |
if (decoder1 == null) { |
result.multiArrayOfStrings = null; |
} else { |
- var si1 = decoder1.decodeDataHeaderForPointerArray( |
- bindings.kUnspecifiedArrayLength); |
+ var si1 = decoder1 |
+ .decodeDataHeaderForPointerArray(bindings.kUnspecifiedArrayLength); |
result.multiArrayOfStrings = |
new List<List<List<String>>>(si1.numElements); |
for (int i1 = 0; i1 < si1.numElements; ++i1) { |
@@ -226,8 +245,7 @@ class Foo extends bindings.Struct { |
for (int i2 = 0; i2 < si2.numElements; ++i2) { |
var decoder3 = decoder2.decodePointer( |
bindings.ArrayDataHeader.kHeaderSize + |
- bindings.kPointerSize * i2, |
- false); |
+ bindings.kPointerSize * i2, false); |
{ |
var si3 = decoder3.decodeDataHeaderForPointerArray( |
bindings.kUnspecifiedArrayLength); |
@@ -235,7 +253,7 @@ class Foo extends bindings.Struct { |
new List<String>(si3.numElements); |
for (int i3 = 0; i3 < si3.numElements; ++i3) { |
var length = bindings.ArrayDataHeader.kHeaderSize + |
- bindings.kPointerSize * i3; |
+ bindings.kPointerSize * i3; |
result.multiArrayOfStrings[i1][i2][i3] = |
decoder3.decodeString(length, false); |
} |
@@ -270,22 +288,17 @@ class Foo extends bindings.Struct { |
var encoder1 = encoder0.encodePointerArray( |
extraBars.length, 40, bindings.kUnspecifiedArrayLength); |
for (int i0 = 0; i0 < extraBars.length; ++i0) { |
- encoder1.encodeStruct( |
- extraBars[i0], |
+ encoder1.encodeStruct(extraBars[i0], |
bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize * i0, |
false); |
} |
} |
encoder0.encodeString(name, 48, false); |
- encoder0.encodeHandleArray(inputStreams, |
- 56, |
- bindings.kArrayNullable, |
- bindings.kUnspecifiedArrayLength); |
- encoder0.encodeHandleArray(outputStreams, |
- 64, |
- bindings.kArrayNullable, |
- bindings.kUnspecifiedArrayLength); |
+ encoder0.encodeHandleArray(inputStreams, 56, |
+ bindings.kArrayNullable, bindings.kUnspecifiedArrayLength); |
+ encoder0.encodeHandleArray(outputStreams, 64, bindings.kArrayNullable, |
+ bindings.kUnspecifiedArrayLength); |
if (arrayOfArrayOfBools == null) { |
encoder0.encodeNullPointer(72, true); |
@@ -293,11 +306,9 @@ class Foo extends bindings.Struct { |
var encoder1 = encoder0.encodePointerArray( |
arrayOfArrayOfBools.length, 72, bindings.kUnspecifiedArrayLength); |
for (int i0 = 0; i0 < arrayOfArrayOfBools.length; ++i0) { |
- encoder1.encodeBoolArray( |
- arrayOfArrayOfBools[i0], |
+ encoder1.encodeBoolArray(arrayOfArrayOfBools[i0], |
bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize * i0, |
- bindings.kNothingNullable, |
- bindings.kUnspecifiedArrayLength); |
+ bindings.kNothingNullable, bindings.kUnspecifiedArrayLength); |
} |
} |
@@ -318,10 +329,8 @@ class Foo extends bindings.Struct { |
bindings.kUnspecifiedArrayLength); |
for (int i1 = 0; i1 < multiArrayOfStrings[i0].length; ++i1) { |
if (multiArrayOfStrings[i0][i1] == null) { |
- encoder2.encodeNullPointer( |
- bindings.ArrayDataHeader.kHeaderSize + |
- bindings.kPointerSize * i1, |
- false); |
+ encoder2.encodeNullPointer(bindings.ArrayDataHeader.kHeaderSize + |
+ bindings.kPointerSize * i1, false); |
} else { |
var encoder3 = encoder2.encodePointerArray( |
multiArrayOfStrings[i0][i1].length, |
@@ -330,11 +339,9 @@ class Foo extends bindings.Struct { |
bindings.kUnspecifiedArrayLength); |
for (int i2 = 0; i2 < multiArrayOfStrings[i0][i1].length; ++i2) { |
var length = bindings.ArrayDataHeader.kHeaderSize + |
- bindings.kPointerSize * i2; |
+ bindings.kPointerSize * i2; |
encoder3.encodeString( |
- multiArrayOfStrings[i0][i1][i2], |
- length, |
- false); |
+ multiArrayOfStrings[i0][i1][i2], length, false); |
} |
} |
} |
@@ -342,14 +349,11 @@ class Foo extends bindings.Struct { |
} |
} |
- encoder0.encodeBoolArray(arrayOfBools, |
- 88, |
- bindings.kArrayNullable, |
- bindings.kUnspecifiedArrayLength); |
+ encoder0.encodeBoolArray(arrayOfBools, 88, bindings.kArrayNullable, |
+ bindings.kUnspecifiedArrayLength); |
} |
} |
- |
void testFoo() { |
var foo = new Foo(); |
foo.x = 0x212B4D5; |
@@ -361,12 +365,8 @@ void testFoo() { |
foo.bar.alpha = 91; |
foo.bar.beta = 82; |
foo.bar.gamma = 73; |
- foo.data = [ |
- 4, 5, 6, 7, 8, |
- ]; |
- foo.extraBars = [ |
- new Bar(), new Bar(), new Bar(), |
- ]; |
+ foo.data = [4, 5, 6, 7, 8,]; |
+ foo.extraBars = [new Bar(), new Bar(), new Bar(),]; |
for (int i = 0; i < foo.extraBars.length; ++i) { |
foo.extraBars[i].alpha = 1 * i; |
foo.extraBars[i].beta = 2 * i; |
@@ -375,33 +375,69 @@ void testFoo() { |
foo.name = "I am a banana"; |
// This is supposed to be a handle, but we fake it with an integer. |
foo.source = new core.MojoHandle(23423782); |
- foo.arrayOfArrayOfBools = [ |
- [true], [false, true] |
- ]; |
- foo.arrayOfBools = [ |
- true, false, true, false, true, false, true, true |
- ]; |
+ foo.arrayOfArrayOfBools = [[true], [false, true]]; |
+ foo.arrayOfBools = [true, false, true, false, true, false, true, true]; |
int name = 31; |
var header = new bindings.MessageHeader(name); |
var message = foo.serializeWithHeader(header); |
var expectedMemory = new Uint8List.fromList([ |
- /* 0: */ 16, 0, 0, 0, 2, 0, 0, 0, |
- /* 8: */ 31, 0, 0, 0, 0, 0, 0, 0, |
- /* 16: */ 96, 0, 0, 0, 15, 0, 0, 0, |
- /* 24: */ 0xD5, 0xB4, 0x12, 0x02, 0x93, 0x6E, 0x01, 0, |
- /* 32: */ 5, 0, 0, 0, 0, 0, 0, 0, |
- /* 40: */ 72, 0, 0, 0, 0, 0, 0, 0, |
+ /* 0: */ 16, |
+ 0, |
+ 0, |
+ 0, |
+ 2, |
+ 0, |
+ 0, |
+ 0, |
+ /* 8: */ 31, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ /* 16: */ 96, |
+ 0, |
+ 0, |
+ 0, |
+ 15, |
+ 0, |
+ 0, |
+ 0, |
+ /* 24: */ 0xD5, |
+ 0xB4, |
+ 0x12, |
+ 0x02, |
+ 0x93, |
+ 0x6E, |
+ 0x01, |
+ 0, |
+ /* 32: */ 5, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ /* 40: */ 72, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
]); |
var allActualMemory = message.buffer.buffer.asUint8List(); |
var actualMemory = allActualMemory.sublist(0, expectedMemory.length); |
Expect.listEquals(expectedMemory, actualMemory); |
- var expectedHandles = <core.MojoHandle>[ |
- new core.MojoHandle(23423782), |
- ]; |
+ var expectedHandles = <core.MojoHandle>[new core.MojoHandle(23423782),]; |
Expect.listEquals(expectedHandles, message.handles); |
@@ -437,12 +473,10 @@ void testFoo() { |
Expect.listEquals(foo.arrayOfBools, foo2.arrayOfBools); |
for (int i = 0; i < foo2.arrayOfArrayOfBools.length; i++) { |
- Expect.listEquals(foo.arrayOfArrayOfBools[i], |
- foo2.arrayOfArrayOfBools[i]); |
+ Expect.listEquals(foo.arrayOfArrayOfBools[i], foo2.arrayOfArrayOfBools[i]); |
} |
} |
- |
class Rect extends bindings.Struct { |
static const int kStructSize = 24; |
static const bindings.StructDataHeader kDefaultStructInfo = |
@@ -487,14 +521,12 @@ class Rect extends bindings.Struct { |
encoder0.encodeInt32(height, 20); |
} |
- bool operator==(Rect other) => |
- (this.x == other.x) && |
+ bool operator ==(Rect other) => (this.x == other.x) && |
(this.y == other.y) && |
(this.width == other.width) && |
(this.height == other.height); |
} |
- |
Rect createRect(int x, int y, int width, int height) { |
var r = new Rect(); |
r.x = x; |
@@ -504,7 +536,6 @@ Rect createRect(int x, int y, int width, int height) { |
return r; |
} |
- |
class NamedRegion extends bindings.Struct { |
static const int kStructSize = 24; |
static const bindings.StructDataHeader kDefaultStructInfo = |
@@ -532,8 +563,8 @@ class NamedRegion extends bindings.Struct { |
if (decoder1 == null) { |
result.rects = null; |
} else { |
- var si1 = decoder1.decodeDataHeaderForPointerArray( |
- bindings.kUnspecifiedArrayLength); |
+ var si1 = decoder1 |
+ .decodeDataHeaderForPointerArray(bindings.kUnspecifiedArrayLength); |
result.rects = new List<Rect>(si1.numElements); |
for (int i1 = 0; i1 < si1.numElements; ++i1) { |
var decoder2 = decoder1.decodePointer( |
@@ -555,8 +586,7 @@ class NamedRegion extends bindings.Struct { |
var encoder1 = encoder0.encodePointerArray( |
rects.length, 16, bindings.kUnspecifiedArrayLength); |
for (int i0 = 0; i0 < rects.length; ++i0) { |
- encoder1.encodeStruct( |
- rects[i0], |
+ encoder1.encodeStruct(rects[i0], |
bindings.ArrayDataHeader.kHeaderSize + bindings.kPointerSize * i0, |
false); |
} |
@@ -564,7 +594,6 @@ class NamedRegion extends bindings.Struct { |
} |
} |
- |
testNamedRegion() { |
var r = new NamedRegion(); |
r.name = "rectangle"; |
@@ -581,7 +610,6 @@ testNamedRegion() { |
Expect.equals(createRect(10, 20, 30, 40), result.rects[1]); |
} |
- |
void testAlign() { |
List aligned = [ |
0, // 0 |
@@ -611,7 +639,6 @@ void testAlign() { |
} |
} |
- |
class MojoString extends bindings.Struct { |
static const int kStructSize = 16; |
static const bindings.StructDataHeader kDefaultStructInfo = |
@@ -639,9 +666,8 @@ class MojoString extends bindings.Struct { |
} |
} |
- |
testUtf8() { |
- var str = "B\u03ba\u1f79"; // some UCS-2 codepoints. |
+ var str = "B\u03ba\u1f79"; // some UCS-2 codepoints. |
var name = 42; |
var payloadSize = 24; |
@@ -654,12 +680,54 @@ testUtf8() { |
var result = MojoString.deserialize(resultMessage.payload); |
var expectedMemory = new Uint8List.fromList([ |
- /* 0: */ 16, 0, 0, 0, 2, 0, 0, 0, |
- /* 8: */ 42, 0, 0, 0, 0, 0, 0, 0, |
- /* 16: */ 16, 0, 0, 0, 1, 0, 0, 0, |
- /* 24: */ 8, 0, 0, 0, 0, 0, 0, 0, |
- /* 32: */ 14, 0, 0, 0, 6, 0, 0, 0, |
- /* 40: */ 0x42, 0xCE, 0xBA, 0xE1, 0xBD, 0xB9, 0, 0, |
+ /* 0: */ 16, |
+ 0, |
+ 0, |
+ 0, |
+ 2, |
+ 0, |
+ 0, |
+ 0, |
+ /* 8: */ 42, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ /* 16: */ 16, |
+ 0, |
+ 0, |
+ 0, |
+ 1, |
+ 0, |
+ 0, |
+ 0, |
+ /* 24: */ 8, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ 0, |
+ /* 32: */ 14, |
+ 0, |
+ 0, |
+ 0, |
+ 6, |
+ 0, |
+ 0, |
+ 0, |
+ /* 40: */ 0x42, |
+ 0xCE, |
+ 0xBA, |
+ 0xE1, |
+ 0xBD, |
+ 0xB9, |
+ 0, |
+ 0, |
]); |
var allActualMemory = message.buffer.buffer.asUint8List(); |
var actualMemory = allActualMemory.sublist(0, expectedMemory.length); |
@@ -669,7 +737,6 @@ testUtf8() { |
Expect.equals(str, result.string); |
} |
- |
main() { |
testAlign(); |
testBar(); |