blob: 002af5c6a204d0c78abde9dc43d6bcb75d49dce4 [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.
// @dart = 2.9
/// @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]);
});
});
}