>>> (indent 4)
    main() {
      it('should expose traverse locals', () {
        expect(parser('a.b').bind({
          'a': {'b': 6}
        }, ContextLocals.wrapper)({
          'a': {'b': 1}
        }))
            .toEqual(1);
      });
    }
<<<
    main() {
      it('should expose traverse locals', () {
        expect(parser('a.b').bind({
          'a': {'b': 6}
        }, ContextLocals.wrapper)({
          'a': {'b': 1}
        })).toEqual(1);
      });
    }
>>>
@Component(
    selector: 'io-controller',
    template: r'<content></content>',
    map: const {
      'attr': '@attr',
      'expr': '<=>expr',
      'once': '=>!exprOnce',
      'ondone': '&onDone',
      'on-optional': '&onOptional'
    })
class IoControllerComponent implements ScopeAware {}
<<<
@Component(
    selector: 'io-controller',
    template: r'<content></content>',
    map: const {
      'attr': '@attr',
      'expr': '<=>expr',
      'once': '=>!exprOnce',
      'ondone': '&onDone',
      'on-optional': '&onOptional'
    })
class IoControllerComponent implements ScopeAware {}
>>> (indent 4)
    main() {
      expect(matcher.match(
              CssSelector.parse("someOtherTag.someOtherClass[someOtherAttr]")[
                  0],
              selectableCollector))
          .toEqual(false);
    }
<<<
    main() {
      expect(matcher.match(
              CssSelector.parse(
                  "someOtherTag.someOtherClass[someOtherAttr]")[0],
              selectableCollector))
          .toEqual(false);
    }