| Index: tests/lib/math/rectangle_test.dart
|
| diff --git a/tests/lib/math/rectangle_test.dart b/tests/lib/math/rectangle_test.dart
|
| index 9e1c47957ef650d9c0ae76b2c2aa09286872d95a..856c1b8047776d589fae1aa90da2b416169e64ca 100644
|
| --- a/tests/lib/math/rectangle_test.dart
|
| +++ b/tests/lib/math/rectangle_test.dart
|
| @@ -24,6 +24,9 @@ main() {
|
|
|
| var r2 = new Rectangle.fromPoints(r0.bottomRight, r0.topLeft);
|
| expect(r2, r0);
|
| +
|
| + var r3 = new Rectangle(40, 60, -30, -40);
|
| + expect(r3, r0);
|
| });
|
|
|
| test('intersection', () {
|
| @@ -128,4 +131,19 @@ main() {
|
| var c = new Rectangle(1, 0, 2, 3);
|
| expect(a.hashCode == c.hashCode, isFalse);
|
| });
|
| +
|
| + test('negative lengths', () {
|
| + // Constructor allows negative widths, but converts them to positive.
|
| + expect(new Rectangle(4, 4, -2, -2), new Rectangle(2, 2, 2, 2));
|
| + expect(new MutableRectangle(4, 4, -2, -2), new Rectangle(2, 2, 2, 2));
|
| + // Setters do not allow setting negative lengths.
|
| + var r = new MutableRectangle(0, 0, 1, 1);
|
| + expect(() { r.width = -1; }, throws);
|
| + expect(() { r.height = -1; }, throws);
|
| + // Minus zero isn't negative.
|
| + r = new MutableRectangle<double>(0.0, 0.0, 1.0, 1.0);
|
| + r.width = -0.0;
|
| + r.height = -0.0;
|
| + expect(r, new Rectangle(0.0, 0.0, 0.0, 0.0));
|
| + });
|
| }
|
|
|