anchor.diff:      hasFocus = false;
     }
   }
  +
  +/// Tests that `@HostListener()` works.
  +@Component(
  +  selector: 'component-with-annotation',
  +  template: '<div [attr.has-focus]="hasFocus"></div>',
  +)
  +class ComponentWithHostAnnotation {
  +  bool hasFocus = false;
  +
  +  @HostListener('focus')
  +  void onFocus() {
  +    hasFocus = true;
  +  }
  +
  +  @HostListener('blur')
  +  void onBlur() {
  +    hasFocus = false;
  +  }
  +}
  +
  +@Component(
  +  selector: 'component-with-annotation2',
  +  template: '<div [attr.was-clicked]="wasClicked"></div>',
  +)
  +class ComponentWithHost$Event {
  +  bool wasClicked = false;
  +
  +  @HostListener('click', const [r'$event'])
  +  void onClick(MouseEvent event) {
  +    if (event == null) {
  +      throw 'EXPECTED a $MouseEvent, but got null';
  +    }
  +    wasClicked = true;
  +  }
  +}
  
positive.code:   }
  }
  
  @Component(
      selector: 'component-with-hostevent',
      host: const {
        '(focus)': 'onFocus()',
        '(blur)': 'onBlur()',
        '(click)': 'toggled = !toggled'
      },
      template: '<div [attr.has-focus]="hasFocus"></div>')
  class ComponentWithHostEvent {
    bool hasFocus = false;
    bool toggled = false;
  
    void onFocus() {
      hasFocus = true;
  
negative.code: @Tags(const ['codegen'])
  @TestOn('browser && !js')
  import 'dart:async';
  import 'dart:html';
  
  import 'package:angular2/angular2.dart';
  