| // 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/rendering.dart'; |
| import 'package:flutter_test/flutter_test.dart'; |
| |
| void main() { |
| test('RenderConstrainedBox getters and setters', () { |
| final RenderConstrainedBox box = RenderConstrainedBox(additionalConstraints: const BoxConstraints.tightFor(height: 10.0)); |
| expect(box.additionalConstraints, const BoxConstraints(minHeight: 10.0, maxHeight: 10.0)); |
| box.additionalConstraints = const BoxConstraints.tightFor(width: 10.0); |
| expect(box.additionalConstraints, const BoxConstraints(minWidth: 10.0, maxWidth: 10.0)); |
| }); |
| |
| test('RenderLimitedBox getters and setters', () { |
| final RenderLimitedBox box = RenderLimitedBox(); |
| expect(box.maxWidth, double.infinity); |
| expect(box.maxHeight, double.infinity); |
| box.maxWidth = 0.0; |
| box.maxHeight = 1.0; |
| expect(box.maxHeight, 1.0); |
| expect(box.maxWidth, 0.0); |
| }); |
| |
| test('RenderAspectRatio getters and setters', () { |
| final RenderAspectRatio box = RenderAspectRatio(aspectRatio: 1.0); |
| expect(box.aspectRatio, 1.0); |
| box.aspectRatio = 0.2; |
| expect(box.aspectRatio, 0.2); |
| box.aspectRatio = 1.2; |
| expect(box.aspectRatio, 1.2); |
| }); |
| |
| test('RenderIntrinsicWidth getters and setters', () { |
| final RenderIntrinsicWidth box = RenderIntrinsicWidth(); |
| expect(box.stepWidth, isNull); |
| box.stepWidth = 10.0; |
| expect(box.stepWidth, 10.0); |
| expect(box.stepHeight, isNull); |
| box.stepHeight = 10.0; |
| expect(box.stepHeight, 10.0); |
| }); |
| |
| test('RenderOpacity getters and setters', () { |
| final RenderOpacity box = RenderOpacity(); |
| expect(box.opacity, 1.0); |
| box.opacity = 0.0; |
| expect(box.opacity, 0.0); |
| }); |
| |
| test('RenderShaderMask getters and setters', () { |
| Shader callback1(Rect bounds) { |
| assert(false); // The test should not call this. |
| const LinearGradient gradient = LinearGradient(colors: <Color>[Colors.red]); |
| return gradient.createShader(Rect.zero); |
| } |
| Shader callback2(Rect bounds) { |
| assert(false); // The test should not call this. |
| const LinearGradient gradient = LinearGradient(colors: <Color>[Colors.blue]); |
| return gradient.createShader(Rect.zero); |
| } |
| final RenderShaderMask box = RenderShaderMask(shaderCallback: callback1); |
| expect(box.shaderCallback, equals(callback1)); |
| box.shaderCallback = callback2; |
| expect(box.shaderCallback, equals(callback2)); |
| expect(box.blendMode, BlendMode.modulate); |
| box.blendMode = BlendMode.colorBurn; |
| expect(box.blendMode, BlendMode.colorBurn); |
| }); |
| } |