Files
sdk/tests/lib/mirrors/superclass2_test.dart
T
Ryan Macnak 081e2acf29 [test] Update copied mirrors tests for Dart 3.
Bug: https://github.com/dart-lang/sdk/issues/40045
Change-Id: Ic0f62843d61b613e61f434b72b9553dd1e6897af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132441
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-23 18:09:37 +00:00

29 lines
846 B
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.
library test.superclass;
import 'dart:mirrors';
import 'package:expect/expect.dart';
checkSuperclassChain(ClassMirror? cm) {
ClassMirror? last;
do {
last = cm;
cm = cm!.superclass;
} while (cm != null);
Expect.equals(reflectClass(Object), last);
}
main() {
checkSuperclassChain(reflect(null).type);
checkSuperclassChain(reflect([]).type);
checkSuperclassChain(reflect(<int>[]).type);
checkSuperclassChain(reflect(0).type);
checkSuperclassChain(reflect(1.5).type);
checkSuperclassChain(reflect("str").type);
checkSuperclassChain(reflect(true).type);
checkSuperclassChain(reflect(false).type);
}