blob: 0d76fa4faad6d8363e06319e46bece7e0b11a0c8 [file] [log] [blame]
// 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.
/// @assertion abstract dynamic operator [](Symbol key)
/// Retrieves the zone-value associated with key.
/// If this zone does not contain the value looks up the same key in the
/// parent zone. If the key is not found returns null.
/// @description Check that operator[] returns expected values.
/// @author ilya
import "dart:async";
import "../../../Utils/expect.dart";
main() {
Zone.current.fork(zoneValues: {#a: 1, #b: 2}).run(() {
Expect.equals(1, Zone.current[#a]);
Expect.equals(2, Zone.current[#b]);
Zone.current.fork(zoneValues: {#a: 11}).run(() {
Expect.equals(11, Zone.current[#a]);
Expect.equals(2, Zone.current[#b]);
Expect.equals(1, Zone.current.parent![#a]);
Expect.isNull(Zone.current[#c]);
});
});
}