| // 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, |
| ); |
| }); |
| } |