import 'package:data_transfer_flutter/data_transfer_flutter.dart'; /// Records what the facade asked the platform to do. class FakePlatform implements DataTransferPlatform { /// What every save/share returns; false stands for a cancelled dialog. bool accept = true; /// What [pickText] returns; null stands for a cancelled picker. String? picked; /// `(fileName, text)` of every [saveText] call. final saves = <(String, String)>[]; /// The mime type of every [saveText] call, in order. final saveMimes = []; /// `(fileName, text)` of every [shareText] call. final shares = <(String, String)>[]; @override Future saveText({ required String fileName, required String text, String mimeType = 'application/json', }) async { saves.add((fileName, text)); saveMimes.add(mimeType); return accept; } @override Future shareText({ required String fileName, required String text, String mimeType = 'application/json', }) async { shares.add((fileName, text)); return accept; } @override Future pickText() async => picked; }