/**
 * @license
 * Copyright Google Inc. All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */
import {EventEmitter} from '@angular/core';
import {ɵɵdefineComponent, ɵɵdefineDirective} from '../../src/render3/index';
import {ɵɵcontainer, ɵɵcontainerRefreshEnd, ɵɵcontainerRefreshStart, ɵɵelementEnd, ɵɵelementStart, ɵɵembeddedViewEnd, ɵɵembeddedViewStart, ɵɵlistener, ɵɵtext} from '../../src/render3/instructions/all';
import {RenderFlags} from '../../src/render3/interfaces/definition';
import {renderToHtml} from './render_util';
describe('outputs', () => {
  let buttonToggle: ButtonToggle;
  class ButtonToggle {
    change = new EventEmitter();
    resetStream = new EventEmitter();
    static ɵfac = () => buttonToggle = new ButtonToggle();
    static ɵcmp = ɵɵdefineComponent({
      type: ButtonToggle,
      selectors: [['button-toggle']],
      template: function(rf: RenderFlags, ctx: any) {},
      decls: 0,
      vars: 0,
      outputs: {change: 'change', resetStream: 'reset'}
    });
  }
  let otherDir: OtherDir;
  class OtherDir {
    changeStream = new EventEmitter();
    static ɵfac = () => otherDir = new OtherDir;
    static ɵdir = ɵɵdefineDirective(
        {type: OtherDir, selectors: [['', 'otherDir', '']], outputs: {changeStream: 'change'}});
  }
  const deps = [ButtonToggle, OtherDir];
  it('should work with outputs at same index in if block', () => {
    /**
     *              // outputs: null
     * % if (condition) {
     *