mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

part of https://github.com/flutter/flutter/issues/136500 this should not affect any production code, it merely runs the tests on CI and makes the changes needed to get them passing.
122 lines
3.2 KiB
Dart
122 lines
3.2 KiB
Dart
// Copyright 2014 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:test/test.dart';
|
|
|
|
import '../update_icons.dart';
|
|
|
|
Map<String, String> codepointsA = <String, String>{
|
|
'airplane': '111',
|
|
'boat': '222',
|
|
};
|
|
Map<String, String> codepointsB = <String, String>{
|
|
'airplane': '333',
|
|
};
|
|
Map<String, String> codepointsC = <String, String>{
|
|
'airplane': '111',
|
|
'train': '444',
|
|
};
|
|
Map<String, String> codepointsUnderscore = <String, String>{
|
|
'airplane__123': '111',
|
|
};
|
|
|
|
void main() {
|
|
group('safety checks', () {
|
|
test('superset', () {
|
|
expect(testIsSuperset(codepointsA, codepointsA), true);
|
|
|
|
expect(testIsSuperset(codepointsA, codepointsB), true);
|
|
expect(testIsSuperset(codepointsB, codepointsA), false);
|
|
});
|
|
test('stability', () {
|
|
expect(testIsStable(codepointsA, codepointsA), true);
|
|
|
|
expect(testIsStable(codepointsA, codepointsB), false);
|
|
expect(testIsStable(codepointsB, codepointsA), false);
|
|
|
|
expect(testIsStable(codepointsA, codepointsC), true);
|
|
expect(testIsStable(codepointsC, codepointsA), true);
|
|
});
|
|
});
|
|
|
|
test('no double underscores', () {
|
|
expect(Icon(codepointsUnderscore.entries.first).usage, 'Icon(Icons.airplane_123),');
|
|
});
|
|
|
|
test('usage string is correct', () {
|
|
expect(
|
|
Icon(const MapEntry<String, String>('abc', '')).usage,
|
|
'Icon(Icons.abc),',
|
|
);
|
|
});
|
|
|
|
test('usage string is correct with replacement', () {
|
|
expect(
|
|
Icon(const MapEntry<String, String>('123', '')).usage,
|
|
'Icon(Icons.onetwothree),',
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('123_rounded', '')).usage,
|
|
'Icon(Icons.onetwothree_rounded),',
|
|
);
|
|
});
|
|
|
|
test('certain icons should be mirrored in RTL', () {
|
|
// Exact match
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
// Variant
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_rounded', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
// Common suffixes
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_alt', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_new', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_off', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_on', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
// Common suffixes + variant
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_alt_rounded', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_new_rounded', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_off_rounded', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_on_rounded', '')).isMirroredInRTL,
|
|
true,
|
|
);
|
|
// No match
|
|
expect(
|
|
Icon(const MapEntry<String, String>('help_center_rounded', '')).isMirroredInRTL,
|
|
false,
|
|
);
|
|
// No match
|
|
expect(
|
|
Icon(const MapEntry<String, String>('arrow', '')).isMirroredInRTL,
|
|
false,
|
|
);
|
|
});
|
|
}
|