dart format
This commit is contained in:
@@ -8,14 +8,13 @@ CacheableFile _file({
|
||||
bool isDirectory = false,
|
||||
int? size,
|
||||
DateTime? modifiedAt,
|
||||
}) =>
|
||||
CacheableFile(
|
||||
path: '/$name',
|
||||
isDirectory: isDirectory,
|
||||
name: name,
|
||||
size: size,
|
||||
modifiedAt: modifiedAt,
|
||||
);
|
||||
}) => CacheableFile(
|
||||
path: '/$name',
|
||||
isDirectory: isDirectory,
|
||||
name: name,
|
||||
size: size,
|
||||
modifiedAt: modifiedAt,
|
||||
);
|
||||
|
||||
void main() {
|
||||
group('SortOptions.options', () {
|
||||
@@ -55,8 +54,14 @@ void main() {
|
||||
|
||||
test('size comparator orders by file size when both known', () {
|
||||
final cmp = SortOptions.getOption(SortOption.size).compare;
|
||||
expect(cmp(_file(name: 'a', size: 100), _file(name: 'b', size: 200)), lessThan(0));
|
||||
expect(cmp(_file(name: 'a', size: 200), _file(name: 'b', size: 100)), greaterThan(0));
|
||||
expect(
|
||||
cmp(_file(name: 'a', size: 100), _file(name: 'b', size: 200)),
|
||||
lessThan(0),
|
||||
);
|
||||
expect(
|
||||
cmp(_file(name: 'a', size: 200), _file(name: 'b', size: 100)),
|
||||
greaterThan(0),
|
||||
);
|
||||
});
|
||||
|
||||
test('options map contains all enum values exactly once', () {
|
||||
@@ -67,8 +72,16 @@ void main() {
|
||||
group('ListFilesResponse.sortBy', () {
|
||||
final folderA = _file(name: 'A', isDirectory: true);
|
||||
final folderB = _file(name: 'B', isDirectory: true);
|
||||
final fileA = _file(name: 'aaa', size: 100, modifiedAt: DateTime(2026, 1, 1));
|
||||
final fileB = _file(name: 'bbb', size: 50, modifiedAt: DateTime(2026, 5, 1));
|
||||
final fileA = _file(
|
||||
name: 'aaa',
|
||||
size: 100,
|
||||
modifiedAt: DateTime(2026, 1, 1),
|
||||
);
|
||||
final fileB = _file(
|
||||
name: 'bbb',
|
||||
size: 50,
|
||||
modifiedAt: DateTime(2026, 5, 1),
|
||||
);
|
||||
|
||||
// Note: sortBy uses a string-buffer sort + compareTo descending. The actual
|
||||
// list ordering reflects what users see in the file list.
|
||||
@@ -81,7 +94,10 @@ void main() {
|
||||
|
||||
test('foldersToTop=false intermixes folders and files', () {
|
||||
final response = ListFilesResponse({fileA, fileB, folderA, folderB});
|
||||
final sorted = response.sortBy(sortOption: SortOption.name, foldersToTop: false);
|
||||
final sorted = response.sortBy(
|
||||
sortOption: SortOption.name,
|
||||
foldersToTop: false,
|
||||
);
|
||||
final folderPositions = <int>[];
|
||||
for (var i = 0; i < sorted.length; i++) {
|
||||
if (sorted[i].isDirectory) folderPositions.add(i);
|
||||
@@ -94,9 +110,15 @@ void main() {
|
||||
|
||||
test('reversed flips the order within each section', () {
|
||||
final response = ListFilesResponse({fileA, fileB});
|
||||
final asc = response.sortBy(sortOption: SortOption.name, foldersToTop: false);
|
||||
final asc = response.sortBy(
|
||||
sortOption: SortOption.name,
|
||||
foldersToTop: false,
|
||||
);
|
||||
final desc = response.sortBy(
|
||||
sortOption: SortOption.name, foldersToTop: false, reversed: true);
|
||||
sortOption: SortOption.name,
|
||||
foldersToTop: false,
|
||||
reversed: true,
|
||||
);
|
||||
expect(desc, asc.reversed.toList());
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user