mirror of
https://github.com/alibaba/flutter-go.git
synced 2025-07-12 16:10:10 +08:00
60 lines
2.1 KiB
Dart
60 lines
2.1 KiB
Dart
// Copyright 2018 The Chromium 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_web/material.dart';
|
|
import 'package:flutter_web/rendering.dart';
|
|
import 'package:flutter_web_test/flutter_web_test.dart';
|
|
|
|
void main() {
|
|
group('$ConstrainedBox', () {
|
|
testWidgets('sets tight constraint', (WidgetTester tester) async {
|
|
await tester.pumpWidget(new Directionality(
|
|
textDirection: TextDirection.ltr,
|
|
child: new Center(
|
|
child: new ConstrainedBox(
|
|
constraints: new BoxConstraints.tight(const Size(50.0, 60.0)),
|
|
child: new Text('Hello'),
|
|
),
|
|
),
|
|
));
|
|
|
|
final RenderBox renderText = tester.renderObject(find.byType(Text));
|
|
expect(renderText.size, const Size(50.0, 60.0));
|
|
final BoxParentData parentData =
|
|
tester.renderObject(find.byType(ConstrainedBox)).parentData;
|
|
expect(parentData.offset, const Offset(375.0, 270.0));
|
|
expect(find.text('Hello'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('sets min and max constraint', (WidgetTester tester) async {
|
|
await tester.pumpWidget(new Directionality(
|
|
textDirection: TextDirection.ltr,
|
|
child: new Center(
|
|
child: new ConstrainedBox(
|
|
constraints: new BoxConstraints(
|
|
minWidth: 50.0,
|
|
maxWidth: 60.0,
|
|
minHeight: 100.0,
|
|
maxHeight: 200.0),
|
|
child: new Text('Hello'),
|
|
),
|
|
),
|
|
));
|
|
|
|
final RenderBox renderText = tester.renderObject(find.byType(Text));
|
|
expect(renderText.size, const Size(60.0, 100.0));
|
|
final BoxParentData parentData =
|
|
tester.renderObject(find.byType(ConstrainedBox)).parentData;
|
|
expect(parentData.offset, const Offset(370.0, 250.0));
|
|
expect(find.text('Hello'), findsOneWidget);
|
|
});
|
|
|
|
test('throws error if given invalid constraints', () {
|
|
expect(
|
|
() => new ConstrainedBox(constraints: null, child: new Text('Hello')),
|
|
throwsAssertionError);
|
|
});
|
|
});
|
|
}
|