|
2 | 2 | // Use of this source code is governed by an Apache license that can be found
|
3 | 3 | // in the LICENSE file.
|
4 | 4 |
|
| 5 | +import 'package:flutter/rendering.dart'; |
5 | 6 | import 'package:flutter_test/flutter_test.dart';
|
6 | 7 | import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
7 | 8 |
|
8 | 9 | void main() {
|
| 10 | + group(AssetPickerTextDelegate, () { |
| 11 | + test('returns the default when available', () { |
| 12 | + expect( |
| 13 | + assetPickerTextDelegateFromLocale(null), |
| 14 | + equals(const AssetPickerTextDelegate()), |
| 15 | + ); |
| 16 | + expect( |
| 17 | + assetPickerTextDelegateFromLocale(const Locale('zh')), |
| 18 | + equals(const AssetPickerTextDelegate()), |
| 19 | + ); |
| 20 | + expect( |
| 21 | + assetPickerTextDelegateFromLocale(const Locale('zxx')), |
| 22 | + equals(const AssetPickerTextDelegate()), |
| 23 | + ); |
| 24 | + }); |
| 25 | + |
| 26 | + test('each delegate can be obtained by its locale definition', () { |
| 27 | + for (final delegate in assetPickerTextDelegates) { |
| 28 | + final locale = Locale.fromSubtags( |
| 29 | + languageCode: delegate.languageCode, |
| 30 | + scriptCode: delegate.scriptCode, |
| 31 | + countryCode: delegate.countryCode, |
| 32 | + ); |
| 33 | + final matchedDelegate = assetPickerTextDelegateFromLocale(locale); |
| 34 | + expect(matchedDelegate, equals(delegate)); |
| 35 | + } |
| 36 | + }); |
| 37 | + }); |
| 38 | + |
9 | 39 | test('Sort paths correctly', () {
|
10 | 40 | final List<PathWrapper<AssetPathEntity>> paths =
|
11 | 41 | <PathWrapper<AssetPathEntity>>[
|
|
0 commit comments