// 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/painting.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('Linear TextScaler', () { test('equality', () { const TextScaler a = TextScaler.linear(3.0); final TextScaler b = TextScaler.noScaling.clamp(minScaleFactor: 3.0); // Creates a non-const TextScaler instance. final TextScaler c = TextScaler.linear(3.0); // ignore: prefer_const_constructors final TextScaler d = TextScaler.noScaling .clamp(minScaleFactor: 1, maxScaleFactor: 5) .clamp(minScaleFactor: 3, maxScaleFactor: 6); final List<TextScaler> list = <TextScaler>[a, b, c, d]; for (final TextScaler lhs in list) { expect(list, everyElement(lhs)); } }); test('clamping', () { expect(TextScaler.noScaling.clamp(minScaleFactor: 3.0), const TextScaler.linear(3.0)); expect(const TextScaler.linear(5.0).clamp(maxScaleFactor: 3.0), const TextScaler.linear(3.0)); expect(const TextScaler.linear(5.0).clamp(maxScaleFactor: 3.0), const TextScaler.linear(3.0)); expect(const TextScaler.linear(5.0).clamp(minScaleFactor: 3.0, maxScaleFactor: 3.0), const TextScaler.linear(3.0)); // Asserts when min > max. expect( () => TextScaler.noScaling.clamp(minScaleFactor: 5.0, maxScaleFactor: 4.0), throwsA(isA<AssertionError>().having((AssertionError error) => error.toString(), 'message', contains('maxScaleFactor >= minScaleFactor'))), ); }); }); }