halkyon/halkyon_learn_flutter/test/support/fake_file_saver.dart

26 lines
673 B
Dart
Raw Normal View History

import 'dart:typed_data';
import 'package:halkyon_learn_flutter/src/core/files/file_saver.dart';
/// A [FileSaver] that keeps what it is given, unless [cancel] says the
/// person cancelled.
class FakeFileSaver() implements FileSaver {
/// Whether the next saves are cancelled.
bool cancel = false;
/// What was saved, in order.
final saved = <({String name, Uint8List bytes, String mimeType})>[];
@override
Future<bool> save({
required String name,
required Uint8List bytes,
required String mimeType,
}) async {
if (cancel) {
return false;
}
saved.add((name: name, bytes: bytes, mimeType: mimeType));
return true;
}
}