| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library test.analysis.notification.overrides; | 5 library test.analysis.notification.overrides; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/constants.dart'; | 9 import 'package:analysis_server/src/constants.dart'; |
| 10 import 'package:analysis_server/src/protocol.dart'; | 10 import 'package:analysis_server/src/protocol.dart'; |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 '''); | 131 '''); |
| 132 return waitForTasksFinished().then((_) { | 132 return waitForTasksFinished().then((_) { |
| 133 return prepareOverrides().then((_) { | 133 return prepareOverrides().then((_) { |
| 134 assertHasOverride('m() {} // in B'); | 134 assertHasOverride('m() {} // in B'); |
| 135 assertNoSuperMember(); | 135 assertNoSuperMember(); |
| 136 assertHasInterfaceMember('m() {} // in A'); | 136 assertHasInterfaceMember('m() {} // in A'); |
| 137 }); | 137 }); |
| 138 }); | 138 }); |
| 139 } | 139 } |
| 140 | 140 |
| 141 test_definedInInterface_ofInterface() { |
| 142 addTestFile(''' |
| 143 class A { |
| 144 m() {} // in A |
| 145 } |
| 146 class B implements A {} |
| 147 class C implements B { |
| 148 m() {} // in C |
| 149 } |
| 150 '''); |
| 151 return prepareOverrides().then((_) { |
| 152 assertHasOverride('m() {} // in C'); |
| 153 assertNoSuperMember(); |
| 154 assertHasInterfaceMember('m() {} // in A'); |
| 155 }); |
| 156 } |
| 157 |
| 158 test_definedInInterface_ofSuper() { |
| 159 addTestFile(''' |
| 160 class A { |
| 161 m() {} // in A |
| 162 } |
| 163 class B implements A {} |
| 164 class C extends B { |
| 165 m() {} // in C |
| 166 } |
| 167 '''); |
| 168 return prepareOverrides().then((_) { |
| 169 assertHasOverride('m() {} // in C'); |
| 170 assertNoSuperMember(); |
| 171 assertHasInterfaceMember('m() {} // in A'); |
| 172 }); |
| 173 } |
| 174 |
| 141 test_interface_method_direct_multiple() { | 175 test_interface_method_direct_multiple() { |
| 142 addTestFile(''' | 176 addTestFile(''' |
| 143 class IA { | 177 class IA { |
| 144 m() {} // in IA | 178 m() {} // in IA |
| 145 } | 179 } |
| 146 class IB { | 180 class IB { |
| 147 m() {} // in IB | 181 m() {} // in IB |
| 148 } | 182 } |
| 149 class A implements IA, IB { | 183 class A implements IA, IB { |
| 150 m() {} // in A | 184 m() {} // in A |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 m() {} // in C | 350 m() {} // in C |
| 317 } | 351 } |
| 318 '''); | 352 '''); |
| 319 return prepareOverrides().then((_) { | 353 return prepareOverrides().then((_) { |
| 320 assertHasOverride('m() {} // in C'); | 354 assertHasOverride('m() {} // in C'); |
| 321 assertHasSuperElement('m() {} // in A'); | 355 assertHasSuperElement('m() {} // in A'); |
| 322 assertNoInterfaceMembers(); | 356 assertNoInterfaceMembers(); |
| 323 }); | 357 }); |
| 324 } | 358 } |
| 325 | 359 |
| 360 test_super_method_superTypeCycle() { |
| 361 addTestFile(''' |
| 362 class A extends B { |
| 363 m() {} // in A |
| 364 } |
| 365 class B extends A { |
| 366 m() {} // in B |
| 367 } |
| 368 '''); |
| 369 return prepareOverrides().then((_) { |
| 370 // must finish |
| 371 }); |
| 372 } |
| 373 |
| 326 test_super_setterBySetter() { | 374 test_super_setterBySetter() { |
| 327 addTestFile(''' | 375 addTestFile(''' |
| 328 class A { | 376 class A { |
| 329 set fff(x) {} // in A | 377 set fff(x) {} // in A |
| 330 } | 378 } |
| 331 class B extends A { | 379 class B extends A { |
| 332 set fff(x) {} // in B | 380 set fff(x) {} // in B |
| 333 } | 381 } |
| 334 '''); | 382 '''); |
| 335 return prepareOverrides().then((_) { | 383 return prepareOverrides().then((_) { |
| 336 assertHasOverride('fff(x) {} // in B'); | 384 assertHasOverride('fff(x) {} // in B'); |
| 337 assertHasSuperElement('fff(x) {} // in A'); | 385 assertHasSuperElement('fff(x) {} // in A'); |
| 338 assertNoInterfaceMembers(); | 386 assertNoInterfaceMembers(); |
| 339 }); | 387 }); |
| 340 } | 388 } |
| 341 } | 389 } |
| OLD | NEW |