flutter/packages/unit/test/rendering/image_test.dart
Adam Barth 07d96a2314 Rename layout_utils.dart to rendering_tester.dart
Also, rename build_utils.dart to widget_tester.dart. These files are now named
for their most commonly used classes.

Finally, add a .analysis_options to silence the (intentional) analyzer warnings
in append_child_test.dart.
2015-08-26 15:49:04 -07:00

162 lines
4.6 KiB
Dart

import 'dart:sky' as sky;
import 'package:sky/rendering.dart';
import 'package:test/test.dart';
import 'rendering_tester.dart';
class SquareImage implements sky.Image {
int get width => 10;
int get height => 10;
}
class WideImage implements sky.Image {
int get width => 20;
int get height => 10;
}
class TallImage implements sky.Image {
int get width => 10;
int get height => 20;
}
void main() {
test('Image sizing', () {
RenderImage image;
image = new RenderImage(image: new SquareImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 25.0,
minHeight: 25.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(25.0));
expect(image.size.height, equals(25.0));
image = new RenderImage(image: new WideImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 5.0,
minHeight: 30.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(60.0));
expect(image.size.height, equals(30.0));
image = new RenderImage(image: new TallImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 50.0,
minHeight: 5.0,
maxWidth: 75.0,
maxHeight: 75.0));
expect(image.size.width, equals(50.0));
expect(image.size.height, equals(75.0));
image = new RenderImage(image: new WideImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 5.0,
minHeight: 5.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(20.0));
expect(image.size.height, equals(10.0));
image = new RenderImage(image: new WideImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 5.0,
minHeight: 5.0,
maxWidth: 16.0,
maxHeight: 16.0));
expect(image.size.width, equals(16.0));
expect(image.size.height, equals(8.0));
image = new RenderImage(image: new TallImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 5.0,
minHeight: 5.0,
maxWidth: 16.0,
maxHeight: 16.0));
expect(image.size.width, equals(8.0));
expect(image.size.height, equals(16.0));
image = new RenderImage(image: new SquareImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 4.0,
minHeight: 4.0,
maxWidth: 8.0,
maxHeight: 8.0));
expect(image.size.width, equals(8.0));
expect(image.size.height, equals(8.0));
image = new RenderImage(image: new WideImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 20.0,
minHeight: 20.0,
maxWidth: 30.0,
maxHeight: 30.0));
expect(image.size.width, equals(30.0));
expect(image.size.height, equals(20.0));
image = new RenderImage(image: new TallImage());
layout(image,
constraints: new BoxConstraints(
minWidth: 20.0,
minHeight: 20.0,
maxWidth: 30.0,
maxHeight: 30.0));
expect(image.size.width, equals(20.0));
expect(image.size.height, equals(30.0));
});
test('Null image sizing', () {
RenderImage image;
image = new RenderImage();
layout(image,
constraints: new BoxConstraints(
minWidth: 25.0,
minHeight: 25.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(25.0));
expect(image.size.height, equals(25.0));
image = new RenderImage(width: 50.0);
layout(image,
constraints: new BoxConstraints(
minWidth: 25.0,
minHeight: 25.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(50.0));
expect(image.size.height, equals(25.0));
image = new RenderImage(height: 50.0);
layout(image,
constraints: new BoxConstraints(
minWidth: 25.0,
minHeight: 25.0,
maxWidth: 100.0,
maxHeight: 100.0));
expect(image.size.width, equals(25.0));
expect(image.size.height, equals(50.0));
image = new RenderImage(width: 100.0, height: 100.0);
layout(image,
constraints: new BoxConstraints(
minWidth: 25.0,
minHeight: 25.0,
maxWidth: 75.0,
maxHeight: 75.0));
expect(image.size.width, equals(75.0));
expect(image.size.height, equals(75.0));
});
}