| // Copyright 2013 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/bootstrap/browser.dart'; |
| import 'package:test/test.dart'; |
| import 'package:ui/ui.dart'; |
| |
| void main() { |
| internalBootstrapBrowserTest(() => testMain); |
| } |
| |
| void testMain() { |
| test('GestureSettings has a reasonable toString', () { |
| const GestureSettings gestureSettings = |
| GestureSettings(physicalDoubleTapSlop: 2.0, physicalTouchSlop: 1.0); |
| |
| expect(gestureSettings.toString(), |
| 'GestureSettings(physicalTouchSlop: 1, physicalDoubleTapSlop: 2)'); |
| }); |
| |
| test('GestureSettings has a correct equality', () { |
| // don't refactor these to be const, that defeats the point! |
| final double value = nonconst(2.0); |
| final GestureSettings settingsA = |
| GestureSettings(physicalDoubleTapSlop: value, physicalTouchSlop: 1.0); |
| final GestureSettings settingsB = |
| GestureSettings(physicalDoubleTapSlop: value, physicalTouchSlop: 3.0); |
| final GestureSettings settingsC = |
| GestureSettings(physicalDoubleTapSlop: value, physicalTouchSlop: 1.0); |
| |
| expect(settingsA, equals(settingsC)); |
| expect(settingsC, equals(settingsA)); |
| |
| expect(settingsA, isNot(equals(settingsB))); |
| expect(settingsC, isNot(equals(settingsB))); |
| |
| expect(settingsB, isNot(equals(settingsA))); |
| expect(settingsB, isNot(equals(settingsC))); |
| }); |
| |
| test('GestureSettings copyWith preserves already set values', () { |
| const GestureSettings initial = |
| GestureSettings(physicalDoubleTapSlop: 1.0, physicalTouchSlop: 1.0); |
| |
| final GestureSettings copyA = initial.copyWith(); |
| |
| expect(copyA.physicalDoubleTapSlop, 1.0); |
| expect(copyA.physicalTouchSlop, 1.0); |
| |
| final GestureSettings copyB = |
| copyA.copyWith(physicalDoubleTapSlop: 2.0, physicalTouchSlop: 2.0); |
| |
| expect(copyB.physicalDoubleTapSlop, 2.0); |
| expect(copyB.physicalTouchSlop, 2.0); |
| }); |
| |
| test('GestureSettings constructor defaults to null', () { |
| const GestureSettings settings = GestureSettings(); |
| |
| expect(settings.physicalDoubleTapSlop, null); |
| expect(settings.physicalTouchSlop, null); |
| }); |
| } |
| |
| // Prevent the linter from complaining about a const value so that |
| // non-identical equality can be tested. |
| T nonconst<T>(T value) => value; |