blob: 1d4e9a26234ac518ba15e8027755ff4d8d00b1ad [file] [log] [blame]
// 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/material.dart';
import 'package:flutter_api_samples/material/floating_action_button/floating_action_button.2.dart'
as example;
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('FloatingActionButton variants', (WidgetTester tester) async {
await tester.pumpWidget(
const example.FloatingActionButtonExampleApp(),
);
FloatingActionButton getFAB(Finder finder) {
return tester.widget<FloatingActionButton>(finder);
}
final ColorScheme colorScheme = ThemeData(useMaterial3: true).colorScheme;
// Test the FAB with surface color mapping.
FloatingActionButton fab = getFAB(find.byType(FloatingActionButton).at(0));
expect(fab.foregroundColor, colorScheme.primary);
expect(fab.backgroundColor, colorScheme.surface);
// Test the FAB with secondary color mapping.
fab = getFAB(find.byType(FloatingActionButton).at(1));
expect(fab.foregroundColor, colorScheme.onSecondaryContainer);
expect(fab.backgroundColor, colorScheme.secondaryContainer);
// Test the FAB with tertiary color mapping.
fab = getFAB(find.byType(FloatingActionButton).at(2));
expect(fab.foregroundColor, colorScheme.onTertiaryContainer);
expect(fab.backgroundColor, colorScheme.tertiaryContainer);
});
}