|  | // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | // @dart = 2.7 | 
|  |  | 
|  | import 'package:expect/expect.dart'; | 
|  |  | 
|  | // Regression test for http://dartbug.com/16967 | 
|  | // Tests type propagation of negation. | 
|  |  | 
|  | void main() { | 
|  | new Foo().test(); | 
|  | } | 
|  |  | 
|  | class Foo { | 
|  | var scale = 1; | 
|  |  | 
|  | void test() { | 
|  | var scaleX = scale; | 
|  | var scaleY = scale; | 
|  | var flipX = true; | 
|  |  | 
|  | if (flipX) { | 
|  | scaleX = -scaleX; | 
|  | } | 
|  |  | 
|  | Expect.equals('X: -1, Y: 1', 'X: $scaleX, Y: $scaleY'); | 
|  | Expect.equals('true', '${scaleX < 0}', '$scaleX < 0'); | 
|  | Expect.equals('false', '${scaleY < 0}', '$scaleY < 0'); | 
|  | } | 
|  | } |