| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 // Dart test for testing access to private fields. | |
| 6 | |
| 7 main() { | |
| 8 testPrivateTopLevel(); | |
| 9 testPrivateClasses(); | |
| 10 } | |
| 11 | |
| 12 void expectCatch(f) { | |
| 13 bool threw = false; | |
| 14 try { | |
| 15 f(); | |
| 16 } catch (var e) { | |
| 17 threw = true; | |
| 18 } | |
| 19 Expect.equals(true, threw); | |
| 20 } | |
| 21 | |
| 22 String _private1() => "private1"; | |
| 23 final String _private1Field = "private1Field"; | |
| 24 | |
| 25 void testPrivateTopLevel() { | |
| 26 Expect.equals("private1", _private1()); | |
| 27 Expect.equals("private2", _private2()); | |
| 28 Expect.equals("private1Field", _private1Field); | |
| 29 Expect.equals("private2Field", _private2Field); | |
| 30 } | |
| 31 | |
| 32 class _A { | |
| 33 _A() : fieldA = 499; | |
| 34 | |
| 35 int fieldA; | |
| 36 } | |
| 37 | |
| 38 class AExposed extends _A { | |
| 39 AExposed() : super(); | |
| 40 } | |
| 41 | |
| 42 class B { | |
| 43 int _fieldB; | |
| 44 B() : _fieldB = 42; | |
| 45 } | |
| 46 | |
| 47 class C1 { | |
| 48 int _field1; | |
| 49 C1() : _field1 = 499; | |
| 50 | |
| 51 field1a() => _field1; | |
| 52 } | |
| 53 | |
| 54 class C3 extends C2 { | |
| 55 int _field2; | |
| 56 C3() : super(), _field2 = 42; | |
| 57 | |
| 58 field2a() => _field2; | |
| 59 field1c() => _field1; | |
| 60 } | |
| 61 | |
| 62 int c_field1a(c) => c._field1; | |
| 63 int c_field2a(c) => c._field2; | |
| 64 | |
| 65 void testPrivateClasses() { | |
| 66 _A a = new _A(); | |
| 67 Expect.equals(499, a.fieldA); | |
| 68 Expect.equals(499, accessFieldA2(a)); | |
| 69 Expect.equals(499, LibOther3.accessFieldA3(a)); | |
| 70 | |
| 71 var a2 = new AImported(); | |
| 72 Expect.equals(499, a2.getFieldA()); | |
| 73 | |
| 74 B b = new B(); | |
| 75 Expect.equals(42, b._fieldB); | |
| 76 Expect.equals(42, accessFieldB2(b)); | |
| 77 expectCatch(() => LibOther3.accessFieldB3(b)); | |
| 78 | |
| 79 C4 c = new C4(); | |
| 80 Expect.equals(499, c_field1a(c)); | |
| 81 Expect.equals(499, c.field1a()); | |
| 82 Expect.equals(42, c_field2a(c)); | |
| 83 Expect.equals(42, c.field2a()); | |
| 84 Expect.equals(99, LibOther3.c_field1b(c)); | |
| 85 Expect.equals(99, c.field1b()); | |
| 86 Expect.equals(1024, LibOther3.c_field2b(c)); | |
| 87 Expect.equals(1024, c.field2b()); | |
| 88 Expect.equals(499, c.field1c()); | |
| 89 Expect.equals(99, c.field1d()); | |
| 90 } | |
| OLD | NEW |