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> {
final int size;
var _yielded = false;
@override
Stream<Uint8List> bind(Stream<Uint8List> stream) async* {
var buffer = BytesBuilder(copy: false);
......@@ -106,9 +108,12 @@ class MinChunkSize extends StreamTransformerBase<Uint8List, Uint8List> {
}
yield buffer.takeBytes();
_yielded = true;
}
yield buffer.takeBytes();
if (buffer.isNotEmpty || !_yielded) {
yield buffer.takeBytes();
}
}
}
......
......@@ -684,21 +684,25 @@ void testListObjects() {
final minio = getMinioClient();
final bucketName = uniqueName();
final objectName = uniqueName();
final objectNameUtf8 = uniqueName() + '文件ファイル。ㄴㅁㄴ';
final data = Uint8List.fromList([1, 2, 3, 4, 5]);
setUpAll(() async {
await minio.makeBucket(bucketName);
await minio.putObject(bucketName, objectName, Stream.value(data));
await minio.putObject(bucketName, objectNameUtf8, Stream.value(data));
});
tearDownAll(() async {
await minio.removeObject(bucketName, objectName);
await minio.removeObject(bucketName, objectNameUtf8);
await minio.removeBucket(bucketName);
});
test('succeeds', () async {
final result = await minio.listAllObjects(bucketName);
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', () {
......
......@@ -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