hunk.code_window:  * 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 { request, runTargetSpec } from '@angular-devkit/architect/testing';
   import { from } from 'rxjs';
   import { concatMap, take, tap } from 'rxjs/operators';
  
hunk.labels: keep keep keep keep replace keep keep
hunk.after_edit: import { TestLogger, request, runTargetSpec } from '@angular-devkit/architect/testing';
  
hunk.file_path: packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts
hunk.type: replace
file: import {silentNpm, ng} from '../../utils/process';
  import {updateJsonFile} from '../../utils/project';
  import {expectFileToMatch} from '../../utils/fs';
  
  
  export default function() {
    // TODO(architect): Delete this test. It is now in devkit/build-angular.
  
    return Promise.resolve()
      .then(() => silentNpm('install', 'material-design-icons@3.0.1'))
      .then(() => updateJsonFile('angular.json', workspaceJson => {
        const appArchitect = workspaceJson.projects['test-project'].architect;
        appArchitect.build.options.styles = [
          { input: 'node_modules/material-design-icons/iconfont/material-icons.css' },
        ];
      }))
      .then(() => ng('build', '--extract-css'))
      .then(() => expectFileToMatch('dist/test-project/styles.css', 'Material Icons'))
      .then(() => ng(
        'build',
        '--prod',
        '--extract-css',
        '--output-hashing=none'
      ))
      .then(() => expectFileToMatch('dist/test-project/styles.css', 'Material Icons'));
  }
  