Skip to content
Snippets Groups Projects
Commit c9a2473f authored by xuty's avatar xuty
Browse files

Add more tests

parent 0117f578
Branches
No related merge requests found
...@@ -94,6 +94,8 @@ class MinChunkSize extends StreamTransformerBase<Uint8List, Uint8List> { ...@@ -94,6 +94,8 @@ class MinChunkSize extends StreamTransformerBase<Uint8List, Uint8List> {
final int size; final int size;
var _yielded = false;
@override @override
Stream<Uint8List> bind(Stream<Uint8List> stream) async* { Stream<Uint8List> bind(Stream<Uint8List> stream) async* {
var buffer = BytesBuilder(copy: false); var buffer = BytesBuilder(copy: false);
...@@ -106,9 +108,12 @@ class MinChunkSize extends StreamTransformerBase<Uint8List, Uint8List> { ...@@ -106,9 +108,12 @@ class MinChunkSize extends StreamTransformerBase<Uint8List, Uint8List> {
} }
yield buffer.takeBytes(); yield buffer.takeBytes();
_yielded = true;
} }
yield buffer.takeBytes(); if (buffer.isNotEmpty || !_yielded) {
yield buffer.takeBytes();
}
} }
} }
......
...@@ -684,21 +684,25 @@ void testListObjects() { ...@@ -684,21 +684,25 @@ void testListObjects() {
final minio = getMinioClient(); final minio = getMinioClient();
final bucketName = uniqueName(); final bucketName = uniqueName();
final objectName = uniqueName(); final objectName = uniqueName();
final objectNameUtf8 = uniqueName() + '文件ファイル。ㄴㅁㄴ';
final data = Uint8List.fromList([1, 2, 3, 4, 5]); final data = Uint8List.fromList([1, 2, 3, 4, 5]);
setUpAll(() async { setUpAll(() async {
await minio.makeBucket(bucketName); await minio.makeBucket(bucketName);
await minio.putObject(bucketName, objectName, Stream.value(data)); await minio.putObject(bucketName, objectName, Stream.value(data));
await minio.putObject(bucketName, objectNameUtf8, Stream.value(data));
}); });
tearDownAll(() async { tearDownAll(() async {
await minio.removeObject(bucketName, objectName); await minio.removeObject(bucketName, objectName);
await minio.removeObject(bucketName, objectNameUtf8);
await minio.removeBucket(bucketName); await minio.removeBucket(bucketName);
}); });
test('succeeds', () async { test('succeeds', () async {
final result = await minio.listAllObjects(bucketName); final result = await minio.listAllObjects(bucketName);
expect(result.objects.map((e) => e.key).contains(objectName), isTrue); expect(result.objects.map((e) => e.key).contains(objectName), isTrue);
expect(result.objects.map((e) => e.key).contains(objectNameUtf8), isTrue);
}); });
test('fails on invalid bucket', () { test('fails on invalid bucket', () {
......
...@@ -80,4 +80,14 @@ void testBlockStream() { ...@@ -80,4 +80,14 @@ void testBlockStream() {
]), ]),
); );
}); });
test('MinChunkSize with empty stream', () async {
final stream = Stream<Uint8List>.empty().transform(MinChunkSize(5));
expect(await stream.toList(), equals([Uint8List.fromList([])]));
});
test('MinChunkSize with zero length stream', () async {
final stream = Stream.value(Uint8List(0)).transform(MinChunkSize(5));
expect(await stream.toList(), equals([Uint8List.fromList([])]));
});
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment