blob: e3e47c00f176b69188dc68e75920a95cf787f080 [file] [log] [blame]
// Copyright 2020 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter_test/flutter_test.dart';
import 'package:file_selector_web/src/utils.dart';
import 'package:file_selector_platform_interface/file_selector_platform_interface.dart';
void main() {
group('FileSelectorWeb utils', () {
group('acceptedTypesToString', () {
test('works', () {
final List<XTypeGroup> acceptedTypes = [
XTypeGroup(label: 'images', webWildCards: ['images/*']),
XTypeGroup(label: 'jpgs', extensions: ['jpg', 'jpeg']),
XTypeGroup(label: 'pngs', mimeTypes: ['image/png']),
];
final accepts = acceptedTypesToString(acceptedTypes);
expect(accepts, 'images/*,.jpg,.jpeg,image/png');
});
test('works with an empty list', () {
final List<XTypeGroup> acceptedTypes = [];
final accepts = acceptedTypesToString(acceptedTypes);
expect(accepts, '');
});
test('works with extensions', () {
final List<XTypeGroup> acceptedTypes = [
XTypeGroup(label: 'jpgs', extensions: ['jpeg', 'jpg']),
XTypeGroup(label: 'pngs', extensions: ['png']),
];
final accepts = acceptedTypesToString(acceptedTypes);
expect(accepts, '.jpeg,.jpg,.png');
});
test('works with mime types', () {
final List<XTypeGroup> acceptedTypes = [
XTypeGroup(label: 'jpgs', mimeTypes: ['image/jpeg', 'image/jpg']),
XTypeGroup(label: 'pngs', mimeTypes: ['image/png']),
];
final accepts = acceptedTypesToString(acceptedTypes);
expect(accepts, 'image/jpeg,image/jpg,image/png');
});
test('works with web wild cards', () {
final List<XTypeGroup> acceptedTypes = [
XTypeGroup(label: 'images', webWildCards: ['image/*']),
XTypeGroup(label: 'audios', webWildCards: ['audio/*']),
XTypeGroup(label: 'videos', webWildCards: ['video/*']),
];
final accepts = acceptedTypesToString(acceptedTypes);
expect(accepts, 'image/*,audio/*,video/*');
});
});
});
}