hunk.code_window:         messages.push({ frame: this.frame - outerFrame, notification: COMPLETE_NOTIFICATION });
         }
       );
       return messages;
     }
     expectObservable<T>(observable: Observable<T>, subscriptionMarbles: string | null = null) {
  
hunk.labels: keep replace replace keep keep keep keep
hunk.after_edit:       },
       });
  
hunk.file_path: src/internal/testing/TestScheduler.ts
hunk.type: replace
file: const matcher = require('./html');
  
  describe('html region-matcher', () => {
    it('should match start annotations', () => {
      let matches;
  
      matches = matcher.regionStartMatcher.exec('<!-- #docregion A b c -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.regionStartMatcher.exec('<!--#docregion A b c-->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.regionStartMatcher.exec('<!-- #docregion -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('');
    });
  
    it('should match end annotations', () => {
      let matches;
  
      matches = matcher.regionEndMatcher.exec('<!-- #enddocregion A b c -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.regionEndMatcher.exec('<!--#enddocregion A b c-->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.regionEndMatcher.exec('<!-- #enddocregion -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('');
    });
  
    it('should handle annotations that do not close the comment on the same line', () => {
      let matches;
  
      matches = matcher.regionStartMatcher.exec('<!-- #docregion A b c');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
    });
  
    it('should match plaster annotations', () => {
      let matches;
  
      matches = matcher.plasterMatcher.exec('<!-- #docplaster A b c -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.plasterMatcher.exec('<!--#docplaster A b c-->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('A b c');
  
      matches = matcher.plasterMatcher.exec('<!-- #docplaster -->');
      expect(matches).not.toBeNull();
      expect(matches[1]).toEqual('');
    });
  
    it('should create a plaster comment', () => {
      expect(matcher.createPlasterComment('... elided ...')).toEqual('<!-- ... elided ... -->');
    });
  });