| Index: runtime/observatory/tests/service/contexts_test.dart
 | 
| diff --git a/runtime/observatory/tests/service/contexts_test.dart b/runtime/observatory/tests/service/contexts_test.dart
 | 
| index d93b0f142ceeb173c6b2fc3c8fa0f2bf59b9b478..d6c7f895166c9fb59b072bb5b516fab3f3ef9e01 100644
 | 
| --- a/runtime/observatory/tests/service/contexts_test.dart
 | 
| +++ b/runtime/observatory/tests/service/contexts_test.dart
 | 
| @@ -23,20 +23,21 @@ Function genCopyingBlock() {
 | 
|  }
 | 
|  
 | 
|  Function genFullBlock() {
 | 
| -  var x = 42;  // I must captured in a context.
 | 
| +  var x = 42; // I must captured in a context.
 | 
|    block() => x;
 | 
|    x++;
 | 
|    return block;
 | 
|  }
 | 
|  
 | 
|  Function genFullBlockWithChain() {
 | 
| -  var x = 420;  // I must captured in a context.
 | 
| +  var x = 420; // I must captured in a context.
 | 
|    outerBlock() {
 | 
|      var y = 4200;
 | 
|      innerBlock() => x + y;
 | 
|      y++;
 | 
|      return innerBlock;
 | 
|    }
 | 
| +
 | 
|    x++;
 | 
|    return outerBlock();
 | 
|  }
 | 
| @@ -49,94 +50,90 @@ void script() {
 | 
|  }
 | 
|  
 | 
|  var tests = [
 | 
| -
 | 
| -(Isolate isolate) =>
 | 
| -  isolate.rootLibrary.load().then((Library lib) {
 | 
| -    Field field = lib.variables.singleWhere((v) => v.name == 'cleanBlock');
 | 
| -    return field.load().then((_) {
 | 
| -      return field.staticValue.load().then((Instance block) {
 | 
| -        expect(block.isClosure, isTrue);
 | 
| -        expect(block.closureContext.isContext, isTrue);
 | 
| -        expect(block.closureContext.length, equals(0));
 | 
| -        return block.closureContext.load().then((Context ctxt) {
 | 
| -          expect(ctxt.parentContext, isNull);
 | 
| +  (Isolate isolate) => isolate.rootLibrary.load().then((Library lib) {
 | 
| +        Field field = lib.variables.singleWhere((v) => v.name == 'cleanBlock');
 | 
| +        return field.load().then((_) {
 | 
| +          return field.staticValue.load().then((Instance block) {
 | 
| +            expect(block.isClosure, isTrue);
 | 
| +            expect(block.closureContext.isContext, isTrue);
 | 
| +            expect(block.closureContext.length, equals(0));
 | 
| +            return block.closureContext.load().then((Context ctxt) {
 | 
| +              expect(ctxt.parentContext, isNull);
 | 
| +            });
 | 
| +          });
 | 
|          });
 | 
| -      });
 | 
| -    });
 | 
| -  }),
 | 
| -
 | 
| -(Isolate isolate) =>
 | 
| -  isolate.rootLibrary.load().then((Library lib) {
 | 
| -    Field field = lib.variables.singleWhere((v) => v.name == 'copyingBlock');
 | 
| -    return field.load().then((_) {
 | 
| -      return field.staticValue.load().then((Instance block) {
 | 
| -        expect(block.isClosure, isTrue);
 | 
| -        expect(block.closureContext.isContext, isTrue);
 | 
| -        expect(block.closureContext.length, equals(1));
 | 
| -        return block.closureContext.load().then((Context ctxt) {
 | 
| -          expect(ctxt.variables.single.value.asValue.isString, isTrue);
 | 
| -          expect(ctxt.variables.single.value.asValue.valueAsString,
 | 
| -              equals('I could be copied into the block'));
 | 
| -          expect(ctxt.parentContext.isContext, isTrue);
 | 
| -          expect(ctxt.parentContext.length, equals(0));
 | 
| -          return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| -            expect(outerCtxt.parentContext, isNull);
 | 
| +      }),
 | 
| +  (Isolate isolate) => isolate.rootLibrary.load().then((Library lib) {
 | 
| +        Field field =
 | 
| +            lib.variables.singleWhere((v) => v.name == 'copyingBlock');
 | 
| +        return field.load().then((_) {
 | 
| +          return field.staticValue.load().then((Instance block) {
 | 
| +            expect(block.isClosure, isTrue);
 | 
| +            expect(block.closureContext.isContext, isTrue);
 | 
| +            expect(block.closureContext.length, equals(1));
 | 
| +            return block.closureContext.load().then((Context ctxt) {
 | 
| +              expect(ctxt.variables.single.value.asValue.isString, isTrue);
 | 
| +              expect(ctxt.variables.single.value.asValue.valueAsString,
 | 
| +                  equals('I could be copied into the block'));
 | 
| +              expect(ctxt.parentContext.isContext, isTrue);
 | 
| +              expect(ctxt.parentContext.length, equals(0));
 | 
| +              return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| +                expect(outerCtxt.parentContext, isNull);
 | 
| +              });
 | 
| +            });
 | 
|            });
 | 
|          });
 | 
| -      });
 | 
| -    });
 | 
| -  }),
 | 
| -
 | 
| -(Isolate isolate) =>
 | 
| -  isolate.rootLibrary.load().then((Library lib) {
 | 
| -    Field field = lib.variables.singleWhere((v) => v.name == 'fullBlock');
 | 
| -    return field.load().then((_) {
 | 
| -      return field.staticValue.load().then((Instance block) {
 | 
| -        expect(block.isClosure, isTrue);
 | 
| -        expect(block.closureContext.isContext, isTrue);
 | 
| -        expect(block.closureContext.length, equals(1));
 | 
| -        return block.closureContext.load().then((Context ctxt) {
 | 
| -          expect(ctxt.variables.single.value.asValue.isInt, isTrue);
 | 
| -          expect(ctxt.variables.single.value.asValue.valueAsString, equals('43'));
 | 
| -          expect(ctxt.parentContext.isContext, isTrue);
 | 
| -          expect(ctxt.parentContext.length, equals(0));
 | 
| -          return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| -            expect(outerCtxt.parentContext, isNull);
 | 
| +      }),
 | 
| +  (Isolate isolate) => isolate.rootLibrary.load().then((Library lib) {
 | 
| +        Field field = lib.variables.singleWhere((v) => v.name == 'fullBlock');
 | 
| +        return field.load().then((_) {
 | 
| +          return field.staticValue.load().then((Instance block) {
 | 
| +            expect(block.isClosure, isTrue);
 | 
| +            expect(block.closureContext.isContext, isTrue);
 | 
| +            expect(block.closureContext.length, equals(1));
 | 
| +            return block.closureContext.load().then((Context ctxt) {
 | 
| +              expect(ctxt.variables.single.value.asValue.isInt, isTrue);
 | 
| +              expect(ctxt.variables.single.value.asValue.valueAsString,
 | 
| +                  equals('43'));
 | 
| +              expect(ctxt.parentContext.isContext, isTrue);
 | 
| +              expect(ctxt.parentContext.length, equals(0));
 | 
| +              return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| +                expect(outerCtxt.parentContext, isNull);
 | 
| +              });
 | 
| +            });
 | 
|            });
 | 
|          });
 | 
| -      });
 | 
| -    });
 | 
| -  }),
 | 
| -
 | 
| -(Isolate isolate) =>
 | 
| -  isolate.rootLibrary.load().then((Library lib) {
 | 
| -    Field field = lib.variables.singleWhere((v) => v.name == 'fullBlockWithChain');
 | 
| -    return field.load().then((_) {
 | 
| -      return field.staticValue.load().then((Instance block) {
 | 
| -        expect(block.isClosure, isTrue);
 | 
| -        expect(block.closureContext.isContext, isTrue);
 | 
| -        expect(block.closureContext.length, equals(1));
 | 
| -        return block.closureContext.load().then((Context ctxt) {
 | 
| -          expect(ctxt.variables.single.value.asValue.isInt, isTrue);
 | 
| -          expect(ctxt.variables.single.value.asValue.valueAsString,
 | 
| -              equals('4201'));
 | 
| -          expect(ctxt.parentContext.isContext, isTrue);
 | 
| -          expect(ctxt.parentContext.length, equals(1));
 | 
| -          return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| -            expect(outerCtxt.variables.single.value.asValue.isInt, isTrue);
 | 
| -            expect(outerCtxt.variables.single.value.asValue.valueAsString,
 | 
| -                equals('421'));
 | 
| -            expect(outerCtxt.parentContext.isContext, isTrue);
 | 
| -            expect(outerCtxt.parentContext.length, equals(0));
 | 
| -            return outerCtxt.parentContext.load().then((Context outerCtxt2) {
 | 
| -                expect(outerCtxt2.parentContext, isNull);
 | 
| +      }),
 | 
| +  (Isolate isolate) => isolate.rootLibrary.load().then((Library lib) {
 | 
| +        Field field =
 | 
| +            lib.variables.singleWhere((v) => v.name == 'fullBlockWithChain');
 | 
| +        return field.load().then((_) {
 | 
| +          return field.staticValue.load().then((Instance block) {
 | 
| +            expect(block.isClosure, isTrue);
 | 
| +            expect(block.closureContext.isContext, isTrue);
 | 
| +            expect(block.closureContext.length, equals(1));
 | 
| +            return block.closureContext.load().then((Context ctxt) {
 | 
| +              expect(ctxt.variables.single.value.asValue.isInt, isTrue);
 | 
| +              expect(ctxt.variables.single.value.asValue.valueAsString,
 | 
| +                  equals('4201'));
 | 
| +              expect(ctxt.parentContext.isContext, isTrue);
 | 
| +              expect(ctxt.parentContext.length, equals(1));
 | 
| +              return ctxt.parentContext.load().then((Context outerCtxt) {
 | 
| +                expect(outerCtxt.variables.single.value.asValue.isInt, isTrue);
 | 
| +                expect(outerCtxt.variables.single.value.asValue.valueAsString,
 | 
| +                    equals('421'));
 | 
| +                expect(outerCtxt.parentContext.isContext, isTrue);
 | 
| +                expect(outerCtxt.parentContext.length, equals(0));
 | 
| +                return outerCtxt.parentContext
 | 
| +                    .load()
 | 
| +                    .then((Context outerCtxt2) {
 | 
| +                  expect(outerCtxt2.parentContext, isNull);
 | 
| +                });
 | 
| +              });
 | 
|              });
 | 
|            });
 | 
|          });
 | 
| -      });
 | 
| -    });
 | 
| -  }),
 | 
| -
 | 
| +      }),
 | 
|  ];
 | 
|  
 | 
|  main(args) => runIsolateTests(args, tests, testeeBefore: script);
 | 
| 
 |