// 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 CupertinoTextThemeData 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, '.SF Pro Text'); expect(theme.textStyle.letterSpacing, -0.41); expect(theme.textStyle.fontWeight, null); // ActionTextStyle 17 -0.41 expect(theme.actionTextStyle.fontSize, 17); expect(theme.actionTextStyle.fontFamily, '.SF Pro Text'); expect(theme.actionTextStyle.letterSpacing, -0.41); expect(theme.actionTextStyle.fontWeight, null); // TextStyle 17 -0.41 expect(theme.tabLabelTextStyle.fontSize, 10); expect(theme.tabLabelTextStyle.fontFamily, '.SF Pro Text'); 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, '.SF Pro Text'); 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, '.SF Pro Display'); expect(theme.navLargeTitleTextStyle.letterSpacing, 0.41); expect(theme.navLargeTitleTextStyle.fontWeight, bold); // Picker Regular 21 -0.6 expect(theme.pickerTextStyle.fontSize, 21); expect(theme.pickerTextStyle.fontFamily, '.SF Pro Display'); expect(theme.pickerTextStyle.letterSpacing, -0.6); expect(theme.pickerTextStyle.fontWeight, regular); // DateTimePicker Normal 21 expect(theme.dateTimePickerTextStyle.fontSize, 21); expect(theme.dateTimePickerTextStyle.fontFamily, '.SF Pro Display'); expect(theme.dateTimePickerTextStyle.letterSpacing, null); expect(theme.dateTimePickerTextStyle.fontWeight, normal); }); }