68 lines
2.9 KiB
Dart
68 lines
2.9 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:flutter/cupertino.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
test('CupertinoTextTheme matches Apple Design resources', () {
|
|
// Check the default cupertino text theme against the style values
|
|
// Values derived from https://developer.apple.com/design/resources/.
|
|
|
|
const theme = CupertinoTextThemeData();
|
|
const FontWeight normal = FontWeight.normal;
|
|
const FontWeight regular = FontWeight.w400;
|
|
const FontWeight medium = FontWeight.w500;
|
|
const FontWeight semiBold = FontWeight.w600;
|
|
const FontWeight bold = FontWeight.w700;
|
|
|
|
// TextStyle 17 -0.41
|
|
expect(theme.textStyle.fontSize, 17);
|
|
expect(theme.textStyle.fontFamily, 'CupertinoSystemText');
|
|
expect(theme.textStyle.letterSpacing, -0.41);
|
|
expect(theme.textStyle.fontWeight, null);
|
|
|
|
// ActionTextStyle 17 -0.41
|
|
expect(theme.actionTextStyle.fontSize, 17);
|
|
expect(theme.actionTextStyle.fontFamily, 'CupertinoSystemText');
|
|
expect(theme.actionTextStyle.letterSpacing, -0.41);
|
|
expect(theme.actionTextStyle.fontWeight, null);
|
|
|
|
// ActionSmallTextStyle 15 -0.23 (aka "Subheadline/Regular")
|
|
expect(theme.actionSmallTextStyle.fontSize, 15);
|
|
expect(theme.actionSmallTextStyle.fontFamily, 'CupertinoSystemText');
|
|
expect(theme.actionSmallTextStyle.letterSpacing, -0.23);
|
|
expect(theme.actionSmallTextStyle.fontWeight, null);
|
|
|
|
// TextStyle 17 -0.41
|
|
expect(theme.tabLabelTextStyle.fontSize, 10);
|
|
expect(theme.tabLabelTextStyle.fontFamily, 'CupertinoSystemText');
|
|
expect(theme.tabLabelTextStyle.letterSpacing, -0.24);
|
|
expect(theme.tabLabelTextStyle.fontWeight, medium);
|
|
|
|
// NavTitle SemiBold 17 -0.41
|
|
expect(theme.navTitleTextStyle.fontSize, 17);
|
|
expect(theme.navTitleTextStyle.fontFamily, 'CupertinoSystemText');
|
|
expect(theme.navTitleTextStyle.letterSpacing, -0.41);
|
|
expect(theme.navTitleTextStyle.fontWeight, semiBold);
|
|
|
|
// NavLargeTitle Bold 34 0.41
|
|
expect(theme.navLargeTitleTextStyle.fontSize, 34);
|
|
expect(theme.navLargeTitleTextStyle.fontFamily, 'CupertinoSystemDisplay');
|
|
expect(theme.navLargeTitleTextStyle.letterSpacing, 0.38);
|
|
expect(theme.navLargeTitleTextStyle.fontWeight, bold);
|
|
|
|
// Picker Regular 21 -0.6
|
|
expect(theme.pickerTextStyle.fontSize, 21);
|
|
expect(theme.pickerTextStyle.fontFamily, 'CupertinoSystemDisplay');
|
|
expect(theme.pickerTextStyle.letterSpacing, -0.6);
|
|
expect(theme.pickerTextStyle.fontWeight, regular);
|
|
|
|
// DateTimePicker Normal 21
|
|
expect(theme.dateTimePickerTextStyle.fontSize, 21);
|
|
expect(theme.dateTimePickerTextStyle.fontFamily, 'CupertinoSystemDisplay');
|
|
expect(theme.dateTimePickerTextStyle.letterSpacing, 0.4);
|
|
expect(theme.dateTimePickerTextStyle.fontWeight, normal);
|
|
});
|
|
}
|