hunk.code_window:       take(1),
       ).toPromise().then(done, done.fail);
     }, 30000);
   });
hunk.labels: keep keep add keep
hunk.after_edit:   it('works with verbose', (done) => {
       const overrides: Partial<DevServerBuilderOptions> = { verbose: true };
       const logger = new TestLogger('verbose-serve');
       runTargetSpec(host, devServerTargetSpec, overrides, undefined, logger).pipe(
         tap(() => expect(logger.includes('Built at')).toBe(true)),
         take(1),
       ).toPromise().then(done, done.fail);
     }, 30000);
  
hunk.file_path: packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts
hunk.type: add
file: /**
   * @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
   */
  // tslint:disable:no-any
  import { schema } from '@angular-devkit/core';
  
  const { serializers } = schema;
  
  
  export function works(registry: schema.JsonSchemaRegistry, schema: any) {
    const value = {
      'firstName': 'Hans',
      'lastName': 'Larsen',
      'age': 30,
    };
  
    registry.addSchema('', schema);
  
    const v = (new serializers.JavascriptSerializer()).serialize('', registry)(value);
  
    expect(v.firstName).toBe('Hans');
    expect(v.lastName).toBe('Larsen');
    expect(v.age).toBe(30);
  
    v.age = 10;
    expect(v.age).toBe(10);
  
    expect(() => v.age = -1).toThrow();
    expect(() => v.age = 'hello').toThrow();
    expect(() => v.age = []).toThrow();
    expect(() => v.age = undefined).not.toThrow();
  
    expect(() => v.firstName = 0).toThrow();
    expect(() => v.firstName = []).toThrow();
    // This should throw as the value is required.
    expect(() => v.firstName = undefined).toThrow();
  }
  