Files
sdk/tests/language_2/private_main.dart
T
Florian Loitsch 16034fcbd5 Migrate test block 144.
Change-Id: I9a0abd2cb9a0a4341980f50af193006e09aa5542
Reviewed-on: https://dart-review.googlesource.com/11281
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Jakob Roland Andersen <jakobr@google.com>
2017-10-05 11:20:20 +00:00

62 lines
1.3 KiB
Dart

// Copyright (c) 2011, 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 test for testing access to private fields.
part of Private3Test.dart;
main() {
PrivateMain.main();
}
class PrivateMain {
static const _myPrecious = "A Ring";
static accessMyPrivates() {
var value;
value = 0;
try {
value = _myPrecious;
} catch (e) {
value = -1;
}
Expect.equals("A Ring", value);
}
static accessMyLibPrivates() {
var value;
value = 0;
var the_other = new PrivateOther();
try {
value = the_other._myPrecious;
} catch (e, trace) {
print(e);
print(trace);
Expect.equals(true, e is NoSuchMethodError);
value = -1;
}
Expect.equals("Another Ring", value);
}
static accessOtherLibPrivates() {
var value;
value = 0;
var the_other = new PrivateLib();
try {
value = (the_other as dynamic)._myPrecious;
} catch (e, trace) {
print(e);
print(trace);
Expect.equals(true, e is NoSuchMethodError);
value = -1;
}
Expect.equals(-1, value);
}
static main() {
accessMyPrivates();
accessMyLibPrivates();
accessOtherLibPrivates();
}
}