192579020c
Bug: Change-Id: I194436597ba39b2e2b872fb58b77314ab925b3aa Reviewed-on: https://dart-review.googlesource.com/7080 Commit-Queue: Ben Konyi <bkonyi@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com>
64 lines
1.2 KiB
Dart
64 lines
1.2 KiB
Dart
// Copyright (c) 2013, 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.
|
|
|
|
// Regression test for https://code.google.com/p/dart/issues/detail?id=10581.
|
|
|
|
import 'package:expect/expect.dart';
|
|
|
|
abstract class AxesObject {
|
|
Update();
|
|
}
|
|
|
|
String result = '';
|
|
|
|
class Point2DObject extends AxesObject {
|
|
Update() {
|
|
result += 'P';
|
|
}
|
|
}
|
|
|
|
class BestFitObject extends AxesObject {
|
|
Update() {
|
|
result += 'B';
|
|
}
|
|
}
|
|
|
|
class Foo {
|
|
AddAxesObject(type) {
|
|
AxesObject a = null;
|
|
switch (type) {
|
|
case 100:
|
|
a = new Point2DObject();
|
|
break;
|
|
case 200:
|
|
a = new BestFitObject();
|
|
break;
|
|
}
|
|
if (a != null) {
|
|
a.Update();
|
|
}
|
|
}
|
|
|
|
AddAxesObject2(type) {
|
|
AxesObject a = null;
|
|
if (type == 100) {
|
|
a = new Point2DObject();
|
|
} else if (type == 200) {
|
|
a = new BestFitObject();
|
|
}
|
|
if (a != null) {
|
|
a.Update();
|
|
}
|
|
}
|
|
}
|
|
|
|
main() {
|
|
var f = new Foo();
|
|
f.AddAxesObject(100);
|
|
f.AddAxesObject(200);
|
|
f.AddAxesObject2(100);
|
|
f.AddAxesObject2(200);
|
|
Expect.equals('PBPB', result);
|
|
}
|