blob: ee93158b93ce976fd846bf0ec7494522716c5107 [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]);
});
});
}