geometry_test.dart 3.35 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1
// Copyright 2014 The Flutter Authors. All rights reserved.
2 3 4 5
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/painting.dart';
6
import '../flutter_test_alternative.dart';
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123

void main() {
  test('positionDependentBox', () {
    // For historical reasons, significantly more tests of this function
    // exist in: ../material/tooltip_test.dart
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(20.0, 10.0),
        target: const Offset(50.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 0.0,
      ),
      const Offset(40.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(200.0, 10.0),
        target: const Offset(50.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 0.0,
      ),
      const Offset(-50.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(200.0, 10.0),
        target: const Offset(0.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 0.0,
      ),
      const Offset(-50.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(200.0, 10.0),
        target: const Offset(100.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 0.0,
      ),
      const Offset(-50.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(50.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 20.0, // 60.0 left
      ),
      const Offset(25.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(50.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 30.0, // 40.0 left
      ),
      const Offset(25.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(0.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 20.0, // 60.0 left
      ),
      const Offset(20.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(0.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 30.0, // 40.0 left
      ),
      const Offset(25.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(100.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 20.0, // 60.0 left
      ),
      const Offset(30.0, 40.0),
    );
    expect(
      positionDependentBox(
        size: const Size(100.0, 100.0),
        childSize: const Size(50.0, 10.0),
        target: const Offset(100.0, 50.0),
        preferBelow: false,
        verticalOffset: 0.0,
        margin: 30.0, // 40.0 left
      ),
      const Offset(25.0, 40.0),
    );
  });
}