// 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/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('Placeholder intrinsics', (WidgetTester tester) async { await tester.pumpWidget(const Placeholder()); expect( tester .renderObject(find.byType(Placeholder)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(Placeholder)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(Placeholder)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(Placeholder)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); testWidgets('ConstrainedBox intrinsics - minHeight', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints(minHeight: 20.0), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 20.0, ); }); testWidgets('ConstrainedBox intrinsics - minWidth', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox(constraints: const BoxConstraints(minWidth: 20.0), child: const Placeholder()), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); testWidgets('ConstrainedBox intrinsics - maxHeight', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints(maxHeight: 20.0), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); testWidgets('ConstrainedBox intrinsics - maxWidth', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox(constraints: const BoxConstraints(maxWidth: 20.0), child: const Placeholder()), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); testWidgets('ConstrainedBox intrinsics - tight', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints.tightFor(width: 10.0, height: 30.0), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 10.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 10.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 30.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 30.0, ); }); testWidgets('ConstrainedBox intrinsics - minHeight - with infinite width', ( WidgetTester tester, ) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints(minWidth: double.infinity, minHeight: 20.0), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 20.0, ); }); testWidgets('ConstrainedBox intrinsics - minWidth - with infinite height', ( WidgetTester tester, ) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints(minWidth: 20.0, minHeight: double.infinity), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 20.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); testWidgets('ConstrainedBox intrinsics - infinite', (WidgetTester tester) async { await tester.pumpWidget( ConstrainedBox( constraints: const BoxConstraints.tightFor(width: double.infinity, height: double.infinity), child: const Placeholder(), ), ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicWidth(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMinIntrinsicHeight(double.infinity), 0.0, ); expect( tester .renderObject(find.byType(ConstrainedBox)) .getMaxIntrinsicHeight(double.infinity), 0.0, ); }); }