Skip to content

Commit ae63a7f

Browse files
committed
Refactor fs files, add typed mocked
1 parent aee41c8 commit ae63a7f

File tree

11 files changed

+86
-13
lines changed

11 files changed

+86
-13
lines changed

packages/lw_file_system/lib/lw_file_system.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
library;
55

66
export 'package:lw_file_system_api/lw_file_system_api.dart';
7-
export 'src/api/file_system_base.dart';
8-
export 'src/api/file_system_mock.dart';
9-
export 'src/api/file_system_remote.dart';
7+
export 'src/api/base.dart';
8+
export 'src/api/mock.dart';
9+
export 'src/api/remote.dart';
1010
export 'src/api/typed.dart';
1111
export 'src/models/config.dart';
1212
export 'src/models/password.dart';

packages/lw_file_system/lib/src/api/file_system_base.dart renamed to packages/lw_file_system/lib/src/api/base.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ import 'package:path/path.dart' as p;
88
import 'package:rxdart/rxdart.dart';
99
import 'package:synchronized/synchronized.dart';
1010

11-
import 'file_system_dav.dart';
12-
import 'file_system_io.dart';
13-
import 'file_system_html_stub.dart'
14-
if (dart.library.js_interop) 'file_system_html.dart';
11+
import 'dav.dart';
12+
import 'io.dart';
13+
import 'html_stub.dart' if (dart.library.js_interop) 'html.dart';
1514

1615
part 'base/directory.dart';
1716
part 'base/key.dart';

packages/lw_file_system/lib/src/api/base/directory.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
part of '../file_system_base.dart';
1+
part of '../base.dart';
22

33
const allListLevel = -1;
44
const oneListLevel = 1;

packages/lw_file_system/lib/src/api/base/key.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
part of '../file_system_base.dart';
1+
part of '../base.dart';
22

33
mixin GeneralKeyFileSystem<T> on GeneralFileSystem {
44
Future<T?> getFile(String key);
File renamed without changes.
File renamed without changes.

packages/lw_file_system/lib/src/api/file_system_html_stub.dart renamed to packages/lw_file_system/lib/src/api/html_stub.dart

File renamed without changes.
File renamed without changes.

packages/lw_file_system/lib/src/api/file_system_mock.dart renamed to packages/lw_file_system/lib/src/api/mock.dart

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,75 @@ class MockKeyFileSystem extends KeyFileSystem {
228228
return _files.keys.toList();
229229
}
230230
}
231+
232+
class MockTypedDirectoryFileSystem<T> extends TypedDirectoryFileSystem<T> {
233+
MockTypedDirectoryFileSystem._(
234+
MockFileSystem super.mockFileSystem, {
235+
required super.onEncode,
236+
required super.onDecode,
237+
required super.config,
238+
super.createDefault,
239+
}) : super.raw();
240+
241+
factory MockTypedDirectoryFileSystem({
242+
required EncodeTypedFileSystemCallback<T> onEncode,
243+
required DecodeTypedFileSystemCallback<T> onDecode,
244+
required FileSystemConfig config,
245+
CreateDefaultCallback<TypedDirectoryFileSystem<T>> createDefault =
246+
defaultCreateDefault,
247+
}) {
248+
MockTypedDirectoryFileSystem<T>? fs;
249+
final mock = MockFileSystem(
250+
config: config,
251+
createDefault: (_) async {
252+
if (fs != null) {
253+
await fs.runDefault();
254+
}
255+
},
256+
);
257+
fs = MockTypedDirectoryFileSystem._(
258+
mock,
259+
onEncode: onEncode,
260+
onDecode: onDecode,
261+
config: config,
262+
createDefault: createDefault,
263+
);
264+
return fs;
265+
}
266+
}
267+
268+
class MockTypedKeyFileSystem<T> extends TypedKeyFileSystem<T> {
269+
MockTypedKeyFileSystem._(
270+
MockKeyFileSystem super.mockFileSystem, {
271+
required super.onEncode,
272+
required super.onDecode,
273+
required super.config,
274+
super.createDefault,
275+
}) : super.raw();
276+
277+
factory MockTypedKeyFileSystem({
278+
required EncodeTypedFileSystemCallback<T> onEncode,
279+
required DecodeTypedFileSystemCallback<T> onDecode,
280+
required FileSystemConfig config,
281+
CreateDefaultCallback<TypedKeyFileSystem<T>> createDefault =
282+
defaultCreateDefault,
283+
}) {
284+
MockTypedKeyFileSystem<T>? fs;
285+
final mock = MockKeyFileSystem(
286+
config: config,
287+
createDefault: (_) async {
288+
if (fs != null) {
289+
await fs.runDefault();
290+
}
291+
},
292+
);
293+
fs = MockTypedKeyFileSystem._(
294+
mock,
295+
onEncode: onEncode,
296+
onDecode: onDecode,
297+
config: config,
298+
createDefault: createDefault,
299+
);
300+
return fs;
301+
}
302+
}
File renamed without changes.

0 commit comments

Comments
 (0)