From 75d743273658f0c66e90a9dcdaa0407811fe6200 Mon Sep 17 00:00:00 2001
From: philenius <philenius@users.noreply.github.com>
Date: Sat, 2 Jan 2021 14:51:06 +0100
Subject: [PATCH] fix upload of empty files

---
 lib/src/utils.dart        |  4 +---
 test/minio_dart_test.dart | 12 ++++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 7fbf68b..b37b32f 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -82,9 +82,7 @@ class BlockStream extends StreamTransformerBase<List<int>, List<int>> {
       }
     }
 
-    if (buffer.length != 0) {
-      yield buffer.toBytes();
-    }
+    yield buffer.toBytes();
   }
 }
 
diff --git a/test/minio_dart_test.dart b/test/minio_dart_test.dart
index b980301..cec0784 100644
--- a/test/minio_dart_test.dart
+++ b/test/minio_dart_test.dart
@@ -155,6 +155,18 @@ void main() {
       expect(stat.metaData[userDefinedMetadataKey],
           equals(userDefinedMetadataValue));
     });
+
+    test('fPutObject() with empty file', () async {
+      final objectName = 'empty.txt';
+      final emptyFile = await File('${tempDir.path}/$objectName').create();
+      await emptyFile.writeAsString('');
+
+      final minio = _getClient();
+      await minio.fPutObject(bucketName, objectName, emptyFile.path);
+
+      final stat = await minio.statObject(bucketName, objectName);
+      expect(stat.size, equals(0));
+    });
   });
 }
 
-- 
GitLab