mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
* spelling: accommodate * spelling: allotted * spelling: anonymous * spelling: artificial * spelling: associated * spelling: asset * spelling: button * spelling: canvas * spelling: compatibility * spelling: coverage * spelling: condition * spelling: decoration * spelling: deferring * spelling: diameter * spelling: direction * spelling: displacement * spelling: dropdown * spelling: needing * spelling: environment * spelling: exited * spelling: expansion * spelling: explore * spelling: families * spelling: horizontal * spelling: increment * spelling: indices * spelling: internationalization * spelling: labrador * spelling: localizations * spelling: midflight * spelling: milliseconds * spelling: minimum * spelling: multiple * spelling: multiplication * spelling: navigator * spelling: overridden * spelling: package * spelling: performance * spelling: platform * spelling: porsche * spelling: position * spelling: preceded * spelling: precede * spelling: precedence * spelling: print * spelling: property * spelling: readily * spelling: reproducibility * spelling: rounded * spelling: scroll * spelling: separate * spelling: separator * spelling: services * spelling: specific * spelling: specify * spelling: synchronously * spelling: through * spelling: timeout * spelling: triangle * spelling: trivial * spelling: unusual * spelling: then * spelling: vertically * spelling: visible * spelling: visited * spelling: voice
85 lines
2.5 KiB
Dart
85 lines
2.5 KiB
Dart
// Copyright 2015 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/rendering.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
import 'rendering_tester.dart';
|
|
|
|
void main() {
|
|
test('Stack can layout with top, right, bottom, left 0.0', () {
|
|
final RenderBox size = new RenderConstrainedBox(
|
|
additionalConstraints: new BoxConstraints.tight(const Size(100.0, 100.0))
|
|
);
|
|
|
|
final RenderBox red = new RenderDecoratedBox(
|
|
decoration: const BoxDecoration(
|
|
color: const Color(0xFFFF0000),
|
|
),
|
|
child: size
|
|
);
|
|
|
|
final RenderBox green = new RenderDecoratedBox(
|
|
decoration: const BoxDecoration(
|
|
color: const Color(0xFFFF0000),
|
|
),
|
|
);
|
|
|
|
final RenderBox stack = new RenderStack(
|
|
textDirection: TextDirection.ltr,
|
|
children: <RenderBox>[red, green],
|
|
);
|
|
final StackParentData greenParentData = green.parentData;
|
|
greenParentData
|
|
..top = 0.0
|
|
..right = 0.0
|
|
..bottom = 0.0
|
|
..left = 0.0;
|
|
|
|
layout(stack, constraints: const BoxConstraints());
|
|
|
|
expect(stack.size.width, equals(100.0));
|
|
expect(stack.size.height, equals(100.0));
|
|
|
|
expect(red.size.width, equals(100.0));
|
|
expect(red.size.height, equals(100.0));
|
|
|
|
expect(green.size.width, equals(100.0));
|
|
expect(green.size.height, equals(100.0));
|
|
});
|
|
|
|
|
|
group('RenderIndexedStack', () {
|
|
test('visitChildrenForSemantics only visits displayed child', () {
|
|
final RenderBox child1 = new RenderConstrainedBox(
|
|
additionalConstraints: new BoxConstraints.tight(const Size(100.0, 100.0))
|
|
);
|
|
final RenderBox child2 = new RenderConstrainedBox(
|
|
additionalConstraints: new BoxConstraints.tight(const Size(100.0, 100.0))
|
|
);
|
|
final RenderBox child3 = new RenderConstrainedBox(
|
|
additionalConstraints: new BoxConstraints.tight(const Size(100.0, 100.0))
|
|
);
|
|
final RenderBox stack = new RenderIndexedStack(
|
|
index: 1,
|
|
textDirection: TextDirection.ltr,
|
|
children: <RenderBox>[child1, child2, child3],
|
|
);
|
|
|
|
final List<RenderObject> visitedChildren = <RenderObject>[];
|
|
final RenderObjectVisitor visitor = (RenderObject child) {
|
|
visitedChildren.add(child);
|
|
};
|
|
|
|
stack.visitChildrenForSemantics(visitor);
|
|
|
|
expect(visitedChildren, hasLength(1));
|
|
expect(visitedChildren.first, child2);
|
|
});
|
|
|
|
});
|
|
|
|
// More tests in ../widgets/stack_test.dart
|
|
}
|